From 54a36eb3dc6169fa6a11bf8eefff731ef59ada18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralph=20K=C3=BCpper?= Date: Fri, 11 Sep 2026 10:54:45 +0200 Subject: [PATCH 1/2] perf(json): use canonical emitters for numeric zero spacing --- .../json_performance/ZERO_SPACING_R25.md | 435 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-cases.json | 18 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 2 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../host.json | 44 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-changing-options.py | 27 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 569 ++ .../processes-before.txt | 569 ++ .../provenance.json | 80 + .../remote-changing-options-command.json | 21 + .../remote-changing-options.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 218 + .../timing.jsonl | 56 + .../verify.jsonl | 10 + .../window.json | 36 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 50 + .../fixture-hashes.json | 21 + .../quiet-zero-spacing-r25-full/fixtures.json | 223 + .../full-cases.json | 358 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../quiet-zero-spacing-r25-full/host.json | 380 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 573 ++ .../processes-before.txt | 570 ++ .../provenance.json | 80 + .../remote-full-command.json | 117 + .../remote-full.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../quiet-zero-spacing-r25-full/run-access.py | 90 + .../run-changing-options.py | 118 + .../quiet-zero-spacing-r25-full/run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../quiet-zero-spacing-r25-full/summary.json | 5402 +++++++++++ .../quiet-zero-spacing-r25-full/timing.jsonl | 1400 +++ .../quiet-zero-spacing-r25-full/verify.jsonl | 250 + .../quiet-zero-spacing-r25-full/window.json | 132 + .../quiet-zero-spacing-r25-full/with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 4 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../host.json | 58 + .../large-cases.json | 32 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-large-options.py | 27 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 572 ++ .../processes-before.txt | 566 ++ .../provenance.json | 80 + .../remote-large-options-command.json | 25 + .../remote-large-options.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 434 + .../timing.jsonl | 112 + .../verify.jsonl | 20 + .../window.json | 40 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 1 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../host.json | 37 + .../large-recheck-cases.json | 11 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-large-recheck-options.py | 27 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 569 ++ .../processes-before.txt | 569 ++ .../provenance.json | 80 + .../remote-large-recheck-options-command.json | 19 + .../remote-large-recheck-options.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 142 + .../timing.jsonl | 44 + .../verify.jsonl | 5 + .../window.json | 34 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 7 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../quiet-zero-spacing-r25-options/host.json | 79 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-supplement.py | 43 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 566 ++ .../processes-before.txt | 578 ++ .../provenance.json | 80 + .../remote-options-command.json | 17 + .../remote-options.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 758 ++ .../timing.jsonl | 196 + .../verify.jsonl | 35 + .../window.json | 32 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 36 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../quiet-zero-spacing-r25-retained/host.json | 282 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-supplement.py | 43 + .../memory.jsonl | 1008 ++ .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 579 ++ .../processes-before.txt | 573 ++ .../provenance.json | 80 + .../remote-retained-command.json | 17 + .../remote-retained.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 6770 +++++++++++++ .../verify.jsonl | 180 + .../window.json | 32 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + .../calibration.jsonl | 60 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 30 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../quiet-zero-spacing-r25-rotating/host.json | 125 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-supplement.py | 43 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 570 ++ .../processes-before.txt | 575 ++ .../provenance.json | 80 + .../remote-rotating-command.json | 23 + .../remote-rotating.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../timing.jsonl | 420 + .../verify.jsonl | 100 + .../window.json | 38 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + .../calibration.jsonl | 12 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 6 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../host.json | 65 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-small-rotating-recheck.py | 44 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 567 ++ .../processes-before.txt | 567 ++ .../provenance.json | 80 + ...remote-small-recheck-rotating-command.json | 23 + .../remote-small-recheck-rotating.log | 4 + .../remote-stage-hashes.json | 135 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../timing.jsonl | 132 + .../verify.jsonl | 20 + .../window.json | 38 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../additional-root-comparison.json | 34 + .../build-provenance.json | 38 + ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-options-validation.json | 142 + .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-workers-provenance.json | 134 + .../candidate-zero-roots.json | 52 + .../candidate-zero-validation.json | 101 + .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../controller-exit.json | 3 + .../controller.log | 8 + .../fixture-hashes.json | 21 + .../fixtures.json | 223 + .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../host.json | 86 + .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../main-build-provenance.json | 38 + .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-options-validation.json | 142 + .../main-retained-roots.json | 52 + .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-workers-provenance.json | 134 + .../main-zero-roots.json | 52 + .../main-zero-validation.json | 101 + .../measure-zero-retained.py | 23 + .../memory.jsonl | 224 + .../options-worker.js | 56 + .../options-worker.ts | 56 + .../processes-after.txt | 566 ++ .../processes-before.txt | 566 ++ .../provenance.json | 80 + .../remote-stage-hashes.json | 135 + .../remote-zero-retained-command.json | 17 + .../remote-zero-retained.log | 4 + .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../root-comparison.json | 185 + .../rotating-manifest.json | 287 + .../run-access.py | 90 + .../run-changing-options.py | 118 + .../run-focus.py | 125 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../run-zero-retained.source.json | 7 + .../run_dispatch_focus.py | 135 + .../source.patch.gz | Bin 0 -> 2726 bytes .../source.patch.json | 5 + .../summary.json | 1506 +++ .../verify.jsonl | 40 + .../window.json | 32 + .../with_lock.py | 42 + .../zero-root-comparison.json | 17 + .../results/zero-spacing-r25-artifacts.json | 8511 +++++++++++++++++ .../additional-root-comparison.json | 34 + .../analyze-changing-options.py | 103 + .../analyze-extras.py | 110 + .../analyze-full.py | 103 + .../analyze-large-options.py | 103 + .../analyze-large-recheck-options.py | 103 + .../analyze-retained.py | 80 + .../analyze-rotating.py | 78 + .../analyze-small-rotating-recheck.py | 78 + .../analyze-zero-retained.py | 80 + .../archive-results.py | 33 + .../archive-validation.py | 36 + .../zero-spacing-r25-validation/base.json | 4 + .../build-changing-worker.py | 15 + .../build-command-result.json | 4 + .../build-provenance.json | 38 + .../build-release.py | 32 + .../build-retained-zero-worker.py | 15 + .../build-start.json | 20 + .../build-workers.py | 15 + .../zero-spacing-r25-validation/build.log.gz | Bin 0 -> 527 bytes .../callback-only-node.stdout.gz | Bin 0 -> 57 bytes .../candidate-11cached_read8lazy_get.s.gz | Bin 0 -> 798 bytes .../candidate-15lazy_get_rooted.s.gz | Bin 0 -> 3263 bytes ...8mutation26resolve_materialized_array.s.gz | Bin 0 -> 3230 bytes .../candidate-access-worker-build-0.log.gz | Bin 0 -> 308 bytes .../candidate-access-worker-build-1.log.gz | Bin 0 -> 453 bytes .../candidate-array-get.s.gz | Bin 0 -> 6065 bytes ...ate-callback-only-auto-scheduled.stderr.gz | Bin 0 -> 9593 bytes ...ate-callback-only-auto-scheduled.stdout.gz | Bin 0 -> 57 bytes .../candidate-callback-only-compile.log.gz | Bin 0 -> 340 bytes .../llvm/changing_options_worker_ts.ll.gz | Bin 0 -> 65792 bytes .../check-0.log.gz | Bin 0 -> 683 bytes .../compile.log.gz | Bin 0 -> 505 bytes .../rewrite.log.gz | Bin 0 -> 20 bytes .../candidate-changing-ir-native/zero.ll.gz | Bin 0 -> 81783 bytes .../llvm/changing_options_worker_ts.ll.gz | Bin 0 -> 62049 bytes .../check-0.log.gz | Bin 0 -> 117 bytes .../check-1.log.gz | Bin 0 -> 153 bytes .../compile.log.gz | Bin 0 -> 509 bytes .../candidate-changing-ir-shadow/zero.ll.gz | Bin 0 -> 62049 bytes .../candidate-changing-options-build-0.log.gz | Bin 0 -> 311 bytes .../candidate-changing-options-build-1.log.gz | Bin 0 -> 453 bytes ...candidate-changing-options-validation.json | 42 + .../candidate-changing-roots.json | 52 + ...candidate-changing-workers-provenance.json | 35 + .../candidate-fixture-validation.json | 922 ++ .../candidate-fraction-compile.log.gz | Bin 0 -> 341 bytes .../candidate-fraction.json | 21 + .../candidate-fraction.stderr.gz | Bin 0 -> 20 bytes .../candidate-fraction.stdout.gz | Bin 0 -> 68 bytes .../candidate-getter-probe-auto.stderr.gz | Bin 0 -> 95 bytes .../candidate-getter-probe-auto.stdout.gz | Bin 0 -> 20 bytes .../candidate-getter-probe-compile.log.gz | Bin 0 -> 342 bytes .../candidate-getter-probe-direct.stderr.gz | Bin 0 -> 20 bytes .../candidate-getter-probe-direct.stdout.gz | Bin 0 -> 43 bytes .../candidate-getter-probe-tape.stderr.gz | Bin 0 -> 95 bytes .../candidate-getter-probe-tape.stdout.gz | Bin 0 -> 20 bytes .../candidate-ir-native/access-worker-0.ll.gz | Bin 0 -> 151519 bytes .../.perry-trace/llvm/access_worker_ts.ll.gz | Bin 0 -> 111467 bytes .../access-worker/compile.log.gz | Bin 0 -> 508 bytes .../access-worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../candidate-ir-native/callback-check.log.gz | Bin 0 -> 227 bytes .../candidate-ir-native/callback-only-0.ll.gz | Bin 0 -> 43589 bytes .../.perry-trace/llvm/callback_only_ts.ll.gz | Bin 0 -> 38929 bytes .../callback-only/compile.log.gz | Bin 0 -> 509 bytes .../callback-only/rewrite-0.log.gz | Bin 0 -> 20 bytes .../candidate-ir-native/check-0.log.gz | Bin 0 -> 1470 bytes .../options-worker-0.ll.gz | Bin 0 -> 111152 bytes .../.perry-trace/llvm/options_worker_ts.ll.gz | Bin 0 -> 88859 bytes .../options-worker/compile.log.gz | Bin 0 -> 510 bytes .../options-worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../ordinary-workers-check.log.gz | Bin 0 -> 233 bytes .../candidate-ir-native/prior-entry-0.ll.gz | Bin 0 -> 140675 bytes .../.perry-trace/llvm/prior_entry_ts.ll.gz | Bin 0 -> 96462 bytes .../prior-entry/compile.log.gz | Bin 0 -> 510 bytes .../prior-entry/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_cached_construction-0.ll.gz | Bin 0 -> 324665 bytes .../test_json_cached_construction_ts.ll.gz | Bin 0 -> 243792 bytes .../compile.log.gz | Bin 0 -> 518 bytes .../rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_cached_reads-0.ll.gz | Bin 0 -> 736363 bytes .../llvm/test_json_cached_reads_ts.ll.gz | Bin 0 -> 415378 bytes .../test_json_cached_reads/compile.log.gz | Bin 0 -> 513 bytes .../test_json_cached_reads/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_source_length-0.ll.gz | Bin 0 -> 428100 bytes .../llvm/test_json_source_length_ts.ll.gz | Bin 0 -> 295256 bytes .../test_json_source_length/compile.log.gz | Bin 0 -> 516 bytes .../test_json_source_length/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_template_capture-0.ll.gz | Bin 0 -> 98703 bytes .../llvm/test_json_template_capture_ts.ll.gz | Bin 0 -> 74296 bytes .../test_json_template_capture/compile.log.gz | Bin 0 -> 516 bytes .../rewrite-0.log.gz | Bin 0 -> 20 bytes .../candidate-ir-native/worker-0.ll.gz | Bin 0 -> 167754 bytes .../worker/.perry-trace/llvm/worker_ts.ll.gz | Bin 0 -> 132048 bytes .../candidate-ir-native/worker/compile.log.gz | Bin 0 -> 503 bytes .../worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../candidate-ir-shadow/access-worker-0.ll.gz | Bin 0 -> 105685 bytes .../.perry-trace/llvm/access_worker_ts.ll.gz | Bin 0 -> 105685 bytes .../access-worker/compile.log.gz | Bin 0 -> 513 bytes .../candidate-ir-shadow/callback-only-0.ll.gz | Bin 0 -> 36676 bytes .../.perry-trace/llvm/callback_only_ts.ll.gz | Bin 0 -> 36676 bytes .../callback-only/compile.log.gz | Bin 0 -> 512 bytes .../candidate-ir-shadow/check-0.log.gz | Bin 0 -> 118 bytes .../candidate-ir-shadow/check-1.log.gz | Bin 0 -> 155 bytes .../options-worker-0.ll.gz | Bin 0 -> 82608 bytes .../.perry-trace/llvm/options_worker_ts.ll.gz | Bin 0 -> 82608 bytes .../options-worker/compile.log.gz | Bin 0 -> 512 bytes .../candidate-ir-shadow/prior-entry-0.ll.gz | Bin 0 -> 81768 bytes .../.perry-trace/llvm/prior_entry_ts.ll.gz | Bin 0 -> 81768 bytes .../prior-entry/compile.log.gz | Bin 0 -> 512 bytes .../test_json_cached_construction-0.ll.gz | Bin 0 -> 228463 bytes .../test_json_cached_construction_ts.ll.gz | Bin 0 -> 228463 bytes .../compile.log.gz | Bin 0 -> 520 bytes .../test_json_cached_reads-0.ll.gz | Bin 0 -> 398291 bytes .../llvm/test_json_cached_reads_ts.ll.gz | Bin 0 -> 398291 bytes .../test_json_cached_reads/compile.log.gz | Bin 0 -> 519 bytes .../test_json_source_length-0.ll.gz | Bin 0 -> 263134 bytes .../llvm/test_json_source_length_ts.ll.gz | Bin 0 -> 263134 bytes .../test_json_source_length/compile.log.gz | Bin 0 -> 516 bytes .../test_json_template_capture-0.ll.gz | Bin 0 -> 69806 bytes .../llvm/test_json_template_capture_ts.ll.gz | Bin 0 -> 69806 bytes .../test_json_template_capture/compile.log.gz | Bin 0 -> 518 bytes .../candidate-ir-shadow/worker-0.ll.gz | Bin 0 -> 122555 bytes .../worker/.perry-trace/llvm/worker_ts.ll.gz | Bin 0 -> 122555 bytes .../candidate-ir-shadow/worker/compile.log.gz | Bin 0 -> 505 bytes ...te-lazy-180-canonical-plain-node.stdout.gz | Bin 0 -> 515 bytes ...ndidate-lazy-180-canonical-plain.stderr.gz | Bin 0 -> 20 bytes ...ndidate-lazy-180-canonical-plain.stdout.gz | Bin 0 -> 515 bytes ...e-lazy-180-canonical-pretty-node.stdout.gz | Bin 0 -> 582 bytes ...didate-lazy-180-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes ...didate-lazy-180-canonical-pretty.stdout.gz | Bin 0 -> 582 bytes ...ate-lazy-180-canonical-true-node.stdout.gz | Bin 0 -> 515 bytes ...andidate-lazy-180-canonical-true.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-180-canonical-true.stdout.gz | Bin 0 -> 27 bytes ...ate-lazy-180-canonical-zero-node.stdout.gz | Bin 0 -> 515 bytes ...andidate-lazy-180-canonical-zero.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-180-canonical-zero.stdout.gz | Bin 0 -> 27 bytes ...te-lazy-180-duplicate-plain-node.stdout.gz | Bin 0 -> 515 bytes ...ndidate-lazy-180-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes ...ndidate-lazy-180-duplicate-plain.stdout.gz | Bin 0 -> 548 bytes ...e-lazy-180-duplicate-pretty-node.stdout.gz | Bin 0 -> 582 bytes ...didate-lazy-180-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes ...didate-lazy-180-duplicate-pretty.stdout.gz | Bin 0 -> 582 bytes ...ate-lazy-180-duplicate-true-node.stdout.gz | Bin 0 -> 515 bytes ...andidate-lazy-180-duplicate-true.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-180-duplicate-true.stdout.gz | Bin 0 -> 27 bytes ...ate-lazy-180-duplicate-zero-node.stdout.gz | Bin 0 -> 515 bytes ...andidate-lazy-180-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-180-duplicate-zero.stdout.gz | Bin 0 -> 27 bytes ...e-lazy-180-whitespace-plain-node.stdout.gz | Bin 0 -> 515 bytes ...didate-lazy-180-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes ...didate-lazy-180-whitespace-plain.stdout.gz | Bin 0 -> 551 bytes ...-lazy-180-whitespace-pretty-node.stdout.gz | Bin 0 -> 582 bytes ...idate-lazy-180-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes ...idate-lazy-180-whitespace-pretty.stdout.gz | Bin 0 -> 582 bytes ...te-lazy-180-whitespace-true-node.stdout.gz | Bin 0 -> 515 bytes ...ndidate-lazy-180-whitespace-true.stderr.gz | Bin 0 -> 20 bytes ...ndidate-lazy-180-whitespace-true.stdout.gz | Bin 0 -> 27 bytes ...te-lazy-180-whitespace-zero-node.stdout.gz | Bin 0 -> 515 bytes ...ndidate-lazy-180-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes ...ndidate-lazy-180-whitespace-zero.stdout.gz | Bin 0 -> 27 bytes ...date-lazy-2-canonical-plain-node.stdout.gz | Bin 0 -> 79 bytes ...candidate-lazy-2-canonical-plain.stderr.gz | Bin 0 -> 20 bytes ...candidate-lazy-2-canonical-plain.stdout.gz | Bin 0 -> 79 bytes ...ate-lazy-2-canonical-pretty-node.stdout.gz | Bin 0 -> 97 bytes ...andidate-lazy-2-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-2-canonical-pretty.stdout.gz | Bin 0 -> 97 bytes ...idate-lazy-2-canonical-true-node.stdout.gz | Bin 0 -> 79 bytes .../candidate-lazy-2-canonical-true.stderr.gz | Bin 0 -> 20 bytes .../candidate-lazy-2-canonical-true.stdout.gz | Bin 0 -> 79 bytes ...idate-lazy-2-canonical-zero-node.stdout.gz | Bin 0 -> 79 bytes .../candidate-lazy-2-canonical-zero.stderr.gz | Bin 0 -> 20 bytes .../candidate-lazy-2-canonical-zero.stdout.gz | Bin 0 -> 79 bytes ...date-lazy-2-duplicate-plain-node.stdout.gz | Bin 0 -> 79 bytes ...candidate-lazy-2-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes ...candidate-lazy-2-duplicate-plain.stdout.gz | Bin 0 -> 79 bytes ...ate-lazy-2-duplicate-pretty-node.stdout.gz | Bin 0 -> 97 bytes ...andidate-lazy-2-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-2-duplicate-pretty.stdout.gz | Bin 0 -> 97 bytes ...idate-lazy-2-duplicate-true-node.stdout.gz | Bin 0 -> 79 bytes .../candidate-lazy-2-duplicate-true.stderr.gz | Bin 0 -> 20 bytes .../candidate-lazy-2-duplicate-true.stdout.gz | Bin 0 -> 79 bytes ...idate-lazy-2-duplicate-zero-node.stdout.gz | Bin 0 -> 79 bytes .../candidate-lazy-2-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes .../candidate-lazy-2-duplicate-zero.stdout.gz | Bin 0 -> 79 bytes ...ate-lazy-2-whitespace-plain-node.stdout.gz | Bin 0 -> 79 bytes ...andidate-lazy-2-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes ...andidate-lazy-2-whitespace-plain.stdout.gz | Bin 0 -> 79 bytes ...te-lazy-2-whitespace-pretty-node.stdout.gz | Bin 0 -> 97 bytes ...ndidate-lazy-2-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes ...ndidate-lazy-2-whitespace-pretty.stdout.gz | Bin 0 -> 97 bytes ...date-lazy-2-whitespace-true-node.stdout.gz | Bin 0 -> 79 bytes ...candidate-lazy-2-whitespace-true.stderr.gz | Bin 0 -> 20 bytes ...candidate-lazy-2-whitespace-true.stdout.gz | Bin 0 -> 79 bytes ...date-lazy-2-whitespace-zero-node.stdout.gz | Bin 0 -> 79 bytes ...candidate-lazy-2-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes ...candidate-lazy-2-whitespace-zero.stdout.gz | Bin 0 -> 79 bytes .../candidate-options-build-0.log.gz | Bin 0 -> 306 bytes .../candidate-options-build-1.log.gz | Bin 0 -> 453 bytes .../candidate-options-validation.json | 142 + .../candidate-packed-index-get.s.gz | Bin 0 -> 2601 bytes ...andidate-prior-entry-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...andidate-prior-entry-auto-fullgc.stdout.gz | Bin 0 -> 360 bytes ...andidate-prior-entry-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...andidate-prior-entry-auto-normal.stdout.gz | Bin 0 -> 360 bytes ...idate-prior-entry-auto-scheduled.stderr.gz | Bin 0 -> 380503 bytes ...idate-prior-entry-auto-scheduled.stdout.gz | Bin 0 -> 360 bytes .../candidate-prior-entry-compile.log.gz | Bin 0 -> 339 bytes ...didate-prior-entry-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...didate-prior-entry-direct-fullgc.stdout.gz | Bin 0 -> 360 bytes ...didate-prior-entry-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...didate-prior-entry-direct-normal.stdout.gz | Bin 0 -> 360 bytes ...ate-prior-entry-direct-scheduled.stderr.gz | Bin 0 -> 377471 bytes ...ate-prior-entry-direct-scheduled.stdout.gz | Bin 0 -> 360 bytes ...andidate-prior-entry-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...andidate-prior-entry-tape-fullgc.stdout.gz | Bin 0 -> 360 bytes ...andidate-prior-entry-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...andidate-prior-entry-tape-normal.stdout.gz | Bin 0 -> 360 bytes ...idate-prior-entry-tape-scheduled.stderr.gz | Bin 0 -> 380800 bytes ...idate-prior-entry-tape-scheduled.stdout.gz | Bin 0 -> 360 bytes .../llvm/retained_zero_worker_ts.ll.gz | Bin 0 -> 133406 bytes .../check-0.log.gz | Bin 0 -> 232 bytes .../compile.log.gz | Bin 0 -> 504 bytes .../rewrite.log.gz | Bin 0 -> 20 bytes .../candidate-retained-ir-native/zero.ll.gz | Bin 0 -> 169211 bytes .../llvm/retained_zero_worker_ts.ll.gz | Bin 0 -> 123918 bytes .../check-0.log.gz | Bin 0 -> 117 bytes .../check-1.log.gz | Bin 0 -> 153 bytes .../compile.log.gz | Bin 0 -> 509 bytes .../candidate-retained-ir-shadow/zero.ll.gz | Bin 0 -> 123918 bytes .../candidate-retained-roots.json | 52 + .../candidate-retained-zero-build-0.log.gz | Bin 0 -> 309 bytes .../candidate-retained-zero-build-1.log.gz | Bin 0 -> 453 bytes .../candidate-retained-zero-validation.json | 82 + ...date-retained-zero-workers-provenance.json | 35 + .../candidate-roots.json | 134 + .../candidate-rotating-worker-build-0.log.gz | Bin 0 -> 308 bytes .../candidate-rotating-worker-build-1.log.gz | Bin 0 -> 453 bytes ..._cached_construction-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-auto-fullgc.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-auto-normal.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-auto-normal.stdout.gz | Bin 0 -> 44204 bytes ...ched_construction-auto-scheduled.stderr.gz | Bin 0 -> 231094 bytes ...ched_construction-auto-scheduled.stdout.gz | Bin 0 -> 44204 bytes ...st_json_cached_construction-compile.log.gz | Bin 0 -> 349 bytes ...ached_construction-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...ached_construction-direct-fullgc.stdout.gz | Bin 0 -> 44204 bytes ...ached_construction-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...ached_construction-direct-normal.stdout.gz | Bin 0 -> 44204 bytes ...ed_construction-direct-scheduled.stderr.gz | Bin 0 -> 205321 bytes ...ed_construction-direct-scheduled.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-tape-fullgc.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-tape-normal.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-tape-normal.stdout.gz | Bin 0 -> 44204 bytes ...ched_construction-tape-scheduled.stderr.gz | Bin 0 -> 229455 bytes ...ched_construction-tape-scheduled.stdout.gz | Bin 0 -> 44204 bytes ...st_json_cached_reads-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-auto-fullgc.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-auto-normal.stdout.gz | Bin 0 -> 43 bytes ...json_cached_reads-auto-scheduled.stderr.gz | Bin 0 -> 535703 bytes ...json_cached_reads-auto-scheduled.stdout.gz | Bin 0 -> 43 bytes ...date-test_json_cached_reads-compile.log.gz | Bin 0 -> 345 bytes ..._json_cached_reads-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._json_cached_reads-direct-fullgc.stdout.gz | Bin 0 -> 43 bytes ..._json_cached_reads-direct-normal.stderr.gz | Bin 0 -> 20 bytes ..._json_cached_reads-direct-normal.stdout.gz | Bin 0 -> 43 bytes ...on_cached_reads-direct-scheduled.stderr.gz | Bin 0 -> 465461 bytes ...on_cached_reads-direct-scheduled.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-tape-fullgc.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-tape-normal.stdout.gz | Bin 0 -> 43 bytes ...json_cached_reads-tape-scheduled.stderr.gz | Bin 0 -> 527081 bytes ...json_cached_reads-tape-scheduled.stdout.gz | Bin 0 -> 43 bytes ...t_json_source_length-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-auto-fullgc.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-auto-normal.stdout.gz | Bin 0 -> 128 bytes ...son_source_length-auto-scheduled.stderr.gz | Bin 0 -> 38791 bytes ...son_source_length-auto-scheduled.stdout.gz | Bin 0 -> 128 bytes ...ate-test_json_source_length-compile.log.gz | Bin 0 -> 348 bytes ...json_source_length-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...json_source_length-direct-fullgc.stdout.gz | Bin 0 -> 128 bytes ...json_source_length-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...json_source_length-direct-normal.stdout.gz | Bin 0 -> 128 bytes ...n_source_length-direct-scheduled.stderr.gz | Bin 0 -> 39122 bytes ...n_source_length-direct-scheduled.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-tape-fullgc.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-tape-normal.stdout.gz | Bin 0 -> 128 bytes ...son_source_length-tape-scheduled.stderr.gz | Bin 0 -> 39355 bytes ...son_source_length-tape-scheduled.stdout.gz | Bin 0 -> 128 bytes ...son_template_capture-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-auto-fullgc.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-auto-normal.stdout.gz | Bin 0 -> 105 bytes ..._template_capture-auto-scheduled.stderr.gz | Bin 0 -> 672532 bytes ..._template_capture-auto-scheduled.stdout.gz | Bin 0 -> 105 bytes ...-test_json_template_capture-compile.log.gz | Bin 0 -> 348 bytes ...n_template_capture-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...n_template_capture-direct-fullgc.stdout.gz | Bin 0 -> 105 bytes ...n_template_capture-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...n_template_capture-direct-normal.stdout.gz | Bin 0 -> 105 bytes ...emplate_capture-direct-scheduled.stderr.gz | Bin 0 -> 663449 bytes ...emplate_capture-direct-scheduled.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-tape-fullgc.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-tape-normal.stdout.gz | Bin 0 -> 105 bytes ..._template_capture-tape-scheduled.stderr.gz | Bin 0 -> 666125 bytes ..._template_capture-tape-scheduled.stdout.gz | Bin 0 -> 105 bytes .../candidate-validation.log.gz | Bin 0 -> 1500 bytes .../candidate-worker-build-0.log.gz | Bin 0 -> 305 bytes .../candidate-worker-build-1.log.gz | Bin 0 -> 453 bytes .../candidate-workers-provenance.json | 134 + .../candidate-zero-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-auto-fullgc.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-auto-normal.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-auto-normal.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-auto-scheduled.stderr.gz | Bin 0 -> 48284 bytes .../candidate-zero-auto-scheduled.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-compile.log.gz | Bin 0 -> 335 bytes .../candidate-zero-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-direct-fullgc.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-direct-normal.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-direct-normal.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-direct-scheduled.stderr.gz | Bin 0 -> 46197 bytes .../candidate-zero-direct-scheduled.stdout.gz | Bin 0 -> 601 bytes .../llvm/test_json_zero_spacing_ts.ll.gz | Bin 0 -> 175687 bytes .../candidate-zero-ir-native/check-0.log.gz | Bin 0 -> 232 bytes .../candidate-zero-ir-native/compile.log.gz | Bin 0 -> 501 bytes .../candidate-zero-ir-native/rewrite.log.gz | Bin 0 -> 20 bytes .../candidate-zero-ir-native/zero.ll.gz | Bin 0 -> 240231 bytes .../llvm/test_json_zero_spacing_ts.ll.gz | Bin 0 -> 151917 bytes .../candidate-zero-ir-shadow/check-0.log.gz | Bin 0 -> 119 bytes .../candidate-zero-ir-shadow/check-1.log.gz | Bin 0 -> 154 bytes .../candidate-zero-ir-shadow/compile.log.gz | Bin 0 -> 506 bytes .../candidate-zero-ir-shadow/zero.ll.gz | Bin 0 -> 151917 bytes .../candidate-zero-roots.json | 52 + .../candidate-zero-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-tape-fullgc.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-tape-normal.stderr.gz | Bin 0 -> 20 bytes .../candidate-zero-tape-normal.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-tape-scheduled.stderr.gz | Bin 0 -> 47006 bytes .../candidate-zero-tape-scheduled.stdout.gz | Bin 0 -> 601 bytes .../candidate-zero-validation.json | 101 + .../changing-cases.json | 18 + .../changing-options-analysis.json | 308 + ...all_record-changing-plain-normal.stderr.gz | Bin 0 -> 672 bytes ...all_record-changing-plain-normal.stdout.gz | Bin 0 -> 169 bytes ..._record-changing-plain-scheduled.stderr.gz | Bin 0 -> 5751 bytes ..._record-changing-plain-scheduled.stdout.gz | Bin 0 -> 171 bytes ...mall_record-changing-zero-normal.stderr.gz | Bin 0 -> 671 bytes ...mall_record-changing-zero-normal.stdout.gz | Bin 0 -> 168 bytes ...l_record-changing-zero-scheduled.stderr.gz | Bin 0 -> 5758 bytes ...l_record-changing-zero-scheduled.stdout.gz | Bin 0 -> 174 bytes ...all_record-changing-plain-normal.stderr.gz | Bin 0 -> 671 bytes ...all_record-changing-plain-normal.stdout.gz | Bin 0 -> 169 bytes ..._record-changing-plain-scheduled.stderr.gz | Bin 0 -> 5782 bytes ..._record-changing-plain-scheduled.stdout.gz | Bin 0 -> 174 bytes ...mall_record-changing-zero-normal.stderr.gz | Bin 0 -> 671 bytes ...mall_record-changing-zero-normal.stdout.gz | Bin 0 -> 169 bytes ...l_record-changing-zero-scheduled.stderr.gz | Bin 0 -> 5762 bytes ...l_record-changing-zero-scheduled.stdout.gz | Bin 0 -> 173 bytes .../changing-options-worker.js | 36 + .../changing-options-worker.ts | 36 + .../check-changing-roots.py | 34 + .../check-retained-roots.py | 34 + .../check-roots.py | 37 + .../check-zero-roots.py | 34 + .../compare-json-entry-disassembly.py | 18 + .../compare-roots.py | 19 + .../file-cap.log.gz | Bin 0 -> 64 bytes .../fixture-hashes.json | 21 + .../format-preparation.json | 12 + .../fraction-baseline.json | 34 + .../full-analysis.json | 6692 +++++++++++++ .../full-cases-reuse.json | 5 + .../full-cases.json | 358 + .../full-controller-initial-failure.json | 10 + .../getter-baseline-comparison.json | 119 + .../getter-baseline-r24-original.json | 119 + .../getter-probe-node.stdout.gz | Bin 0 -> 43 bytes .../harness/access-worker.js | 43 + .../harness/access-worker.ts | 43 + .../harness/rotating-worker.js | 63 + .../harness/rotating-worker.ts | 62 + .../harness/run_access.py | 87 + .../harness/run_dispatch_focus.py | 135 + .../harness/run_regression_focus.py | 123 + .../harness/with_lock.py | 42 + .../harness/worker.js | 82 + .../harness/worker.ts | 81 + .../index-artifacts.py | 38 + .../initial-validation/file-cap.log.gz | Bin 0 -> 64 bytes .../initial-validation/lint-results.json | 22 + .../initial-validation/repair.json | 5 + .../initial-validation/replacer.rs | 1986 ++++ .../initial-validation/script-lint.log.gz | Bin 0 -> 2149 bytes .../stringify_record_output_tests.rs | 442 + .../initial-validation/unit-source.json | 21 + .../initial-validation/unit.log.gz | Bin 0 -> 6857 bytes .../inspect-disassembly.py | 14 + .../json-entry-disassembly.json | 6458 +++++++++++++ .../large-cases.json | 32 + .../large-options-analysis.json | 574 ++ .../large-recheck-cases.json | 11 + .../large-recheck-options-analysis.json | 211 + .../lazy-180-canonical-plain-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-canonical-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-canonical-plain.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-canonical-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-canonical-pretty.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-canonical-true-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-canonical-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-canonical-true.stdout.gz | Bin 0 -> 27 bytes .../lazy-180-canonical-zero-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-canonical-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-canonical-zero.stdout.gz | Bin 0 -> 27 bytes .../lazy-180-duplicate-plain-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-duplicate-plain.stdout.gz | Bin 0 -> 548 bytes .../lazy-180-duplicate-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-duplicate-pretty.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-duplicate-true-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-duplicate-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-duplicate-true.stdout.gz | Bin 0 -> 27 bytes .../lazy-180-duplicate-zero-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-duplicate-zero.stdout.gz | Bin 0 -> 27 bytes .../lazy-180-whitespace-plain-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-whitespace-plain.stdout.gz | Bin 0 -> 551 bytes .../lazy-180-whitespace-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-whitespace-pretty.stdout.gz | Bin 0 -> 582 bytes .../lazy-180-whitespace-true-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-whitespace-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-whitespace-true.stdout.gz | Bin 0 -> 27 bytes .../lazy-180-whitespace-zero-node.stdout.gz | Bin 0 -> 515 bytes .../lazy-180-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-180-whitespace-zero.stdout.gz | Bin 0 -> 27 bytes .../lazy-2-canonical-plain-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-canonical-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-canonical-plain.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-canonical-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-canonical-pretty.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-canonical-true-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-canonical-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-canonical-true.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-canonical-zero-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-canonical-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-canonical-zero.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-plain-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-duplicate-plain.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-duplicate-pretty.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-duplicate-true-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-duplicate-true.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-zero-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-duplicate-zero.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-plain-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-whitespace-plain.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-whitespace-pretty.stdout.gz | Bin 0 -> 97 bytes .../lazy-2-whitespace-true-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-true.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-whitespace-true.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-zero-node.stdout.gz | Bin 0 -> 79 bytes .../lazy-2-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes .../lazy-2-whitespace-zero.stdout.gz | Bin 0 -> 79 bytes .../lazy-candidate-probes.json | 211 + .../lazy-main-probes.json | 211 + .../lazy-probe-candidate-compile.log.gz | Bin 0 -> 342 bytes .../lint-results.json | 22 + .../main-11cached_read8lazy_get.s.gz | Bin 0 -> 795 bytes .../main-15lazy_get_rooted.s.gz | Bin 0 -> 3259 bytes ...8mutation26resolve_materialized_array.s.gz | Bin 0 -> 3227 bytes .../main-access-worker-build-0.log.gz | Bin 0 -> 309 bytes .../main-access-worker-build-1.log.gz | Bin 0 -> 459 bytes .../main-array-get.s.gz | Bin 0 -> 6063 bytes .../main-build-provenance.json | 38 + ...ain-callback-only-auto-scheduled.stderr.gz | Bin 0 -> 9549 bytes ...ain-callback-only-auto-scheduled.stdout.gz | Bin 0 -> 57 bytes .../main-callback-only-compile.log.gz | Bin 0 -> 343 bytes .../llvm/changing_options_worker_ts.ll.gz | Bin 0 -> 65792 bytes .../main-changing-ir-native/check-0.log.gz | Bin 0 -> 683 bytes .../main-changing-ir-native/compile.log.gz | Bin 0 -> 500 bytes .../main-changing-ir-native/rewrite.log.gz | Bin 0 -> 20 bytes .../main-changing-ir-native/zero.ll.gz | Bin 0 -> 81780 bytes .../llvm/changing_options_worker_ts.ll.gz | Bin 0 -> 62049 bytes .../main-changing-ir-shadow/check-0.log.gz | Bin 0 -> 117 bytes .../main-changing-ir-shadow/check-1.log.gz | Bin 0 -> 153 bytes .../main-changing-ir-shadow/compile.log.gz | Bin 0 -> 504 bytes .../main-changing-ir-shadow/zero.ll.gz | Bin 0 -> 62049 bytes .../main-changing-options-build-0.log.gz | Bin 0 -> 308 bytes .../main-changing-options-build-1.log.gz | Bin 0 -> 453 bytes .../main-changing-options-validation.json | 42 + .../main-changing-roots.json | 52 + .../main-changing-workers-provenance.json | 35 + .../main-fixture-validation.json | 922 ++ .../main-fraction-compile.log.gz | Bin 0 -> 346 bytes .../main-fraction.json | 21 + .../main-fraction.stderr.gz | Bin 0 -> 20 bytes .../main-fraction.stdout.gz | Bin 0 -> 68 bytes .../main-getter-probe-auto.stderr.gz | Bin 0 -> 95 bytes .../main-getter-probe-auto.stdout.gz | Bin 0 -> 20 bytes .../main-getter-probe-compile.log.gz | Bin 0 -> 345 bytes .../main-getter-probe-direct.stderr.gz | Bin 0 -> 20 bytes .../main-getter-probe-direct.stdout.gz | Bin 0 -> 43 bytes .../main-getter-probe-tape.stderr.gz | Bin 0 -> 95 bytes .../main-getter-probe-tape.stdout.gz | Bin 0 -> 20 bytes .../main-ir-native/access-worker-0.ll.gz | Bin 0 -> 151520 bytes .../.perry-trace/llvm/access_worker_ts.ll.gz | Bin 0 -> 111467 bytes .../access-worker/compile.log.gz | Bin 0 -> 510 bytes .../access-worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../main-ir-native/callback-check.log.gz | Bin 0 -> 227 bytes .../main-ir-native/callback-only-0.ll.gz | Bin 0 -> 43591 bytes .../.perry-trace/llvm/callback_only_ts.ll.gz | Bin 0 -> 38929 bytes .../callback-only/compile.log.gz | Bin 0 -> 510 bytes .../callback-only/rewrite-0.log.gz | Bin 0 -> 20 bytes .../main-ir-native/check-0.log.gz | Bin 0 -> 1470 bytes .../main-ir-native/options-worker-0.ll.gz | Bin 0 -> 111151 bytes .../.perry-trace/llvm/options_worker_ts.ll.gz | Bin 0 -> 88859 bytes .../options-worker/compile.log.gz | Bin 0 -> 510 bytes .../options-worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../ordinary-workers-check.log.gz | Bin 0 -> 233 bytes .../main-ir-native/prior-entry-0.ll.gz | Bin 0 -> 140675 bytes .../.perry-trace/llvm/prior_entry_ts.ll.gz | Bin 0 -> 96462 bytes .../main-ir-native/prior-entry/compile.log.gz | Bin 0 -> 511 bytes .../prior-entry/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_cached_construction-0.ll.gz | Bin 0 -> 324662 bytes .../test_json_cached_construction_ts.ll.gz | Bin 0 -> 243792 bytes .../compile.log.gz | Bin 0 -> 520 bytes .../rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_cached_reads-0.ll.gz | Bin 0 -> 736361 bytes .../llvm/test_json_cached_reads_ts.ll.gz | Bin 0 -> 415378 bytes .../test_json_cached_reads/compile.log.gz | Bin 0 -> 514 bytes .../test_json_cached_reads/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_source_length-0.ll.gz | Bin 0 -> 428102 bytes .../llvm/test_json_source_length_ts.ll.gz | Bin 0 -> 295256 bytes .../test_json_source_length/compile.log.gz | Bin 0 -> 518 bytes .../test_json_source_length/rewrite-0.log.gz | Bin 0 -> 20 bytes .../test_json_template_capture-0.ll.gz | Bin 0 -> 98701 bytes .../llvm/test_json_template_capture_ts.ll.gz | Bin 0 -> 74296 bytes .../test_json_template_capture/compile.log.gz | Bin 0 -> 518 bytes .../rewrite-0.log.gz | Bin 0 -> 20 bytes .../main-ir-native/worker-0.ll.gz | Bin 0 -> 167754 bytes .../worker/.perry-trace/llvm/worker_ts.ll.gz | Bin 0 -> 132048 bytes .../main-ir-native/worker/compile.log.gz | Bin 0 -> 505 bytes .../main-ir-native/worker/rewrite-0.log.gz | Bin 0 -> 20 bytes .../main-ir-shadow/access-worker-0.ll.gz | Bin 0 -> 105685 bytes .../.perry-trace/llvm/access_worker_ts.ll.gz | Bin 0 -> 105685 bytes .../access-worker/compile.log.gz | Bin 0 -> 515 bytes .../main-ir-shadow/callback-only-0.ll.gz | Bin 0 -> 36676 bytes .../.perry-trace/llvm/callback_only_ts.ll.gz | Bin 0 -> 36676 bytes .../callback-only/compile.log.gz | Bin 0 -> 516 bytes .../main-ir-shadow/check-0.log.gz | Bin 0 -> 118 bytes .../main-ir-shadow/check-1.log.gz | Bin 0 -> 155 bytes .../main-ir-shadow/options-worker-0.ll.gz | Bin 0 -> 82608 bytes .../.perry-trace/llvm/options_worker_ts.ll.gz | Bin 0 -> 82608 bytes .../options-worker/compile.log.gz | Bin 0 -> 514 bytes .../main-ir-shadow/prior-entry-0.ll.gz | Bin 0 -> 81768 bytes .../.perry-trace/llvm/prior_entry_ts.ll.gz | Bin 0 -> 81768 bytes .../main-ir-shadow/prior-entry/compile.log.gz | Bin 0 -> 515 bytes .../test_json_cached_construction-0.ll.gz | Bin 0 -> 228463 bytes .../test_json_cached_construction_ts.ll.gz | Bin 0 -> 228463 bytes .../compile.log.gz | Bin 0 -> 522 bytes .../test_json_cached_reads-0.ll.gz | Bin 0 -> 398291 bytes .../llvm/test_json_cached_reads_ts.ll.gz | Bin 0 -> 398291 bytes .../test_json_cached_reads/compile.log.gz | Bin 0 -> 519 bytes .../test_json_source_length-0.ll.gz | Bin 0 -> 263134 bytes .../llvm/test_json_source_length_ts.ll.gz | Bin 0 -> 263134 bytes .../test_json_source_length/compile.log.gz | Bin 0 -> 520 bytes .../test_json_template_capture-0.ll.gz | Bin 0 -> 69806 bytes .../llvm/test_json_template_capture_ts.ll.gz | Bin 0 -> 69806 bytes .../test_json_template_capture/compile.log.gz | Bin 0 -> 521 bytes .../main-ir-shadow/worker-0.ll.gz | Bin 0 -> 122555 bytes .../worker/.perry-trace/llvm/worker_ts.ll.gz | Bin 0 -> 122555 bytes .../main-ir-shadow/worker/compile.log.gz | Bin 0 -> 509 bytes ...in-lazy-180-canonical-plain-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-canonical-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-canonical-plain.stdout.gz | Bin 0 -> 515 bytes ...n-lazy-180-canonical-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../main-lazy-180-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-canonical-pretty.stdout.gz | Bin 0 -> 582 bytes ...ain-lazy-180-canonical-true-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-canonical-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-canonical-true.stdout.gz | Bin 0 -> 27 bytes ...ain-lazy-180-canonical-zero-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-canonical-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-canonical-zero.stdout.gz | Bin 0 -> 27 bytes ...in-lazy-180-duplicate-plain-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-duplicate-plain.stdout.gz | Bin 0 -> 548 bytes ...n-lazy-180-duplicate-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../main-lazy-180-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-duplicate-pretty.stdout.gz | Bin 0 -> 582 bytes ...ain-lazy-180-duplicate-true-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-duplicate-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-duplicate-true.stdout.gz | Bin 0 -> 27 bytes ...ain-lazy-180-duplicate-zero-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-duplicate-zero.stdout.gz | Bin 0 -> 27 bytes ...n-lazy-180-whitespace-plain-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-whitespace-plain.stdout.gz | Bin 0 -> 551 bytes ...-lazy-180-whitespace-pretty-node.stdout.gz | Bin 0 -> 582 bytes .../main-lazy-180-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-whitespace-pretty.stdout.gz | Bin 0 -> 582 bytes ...in-lazy-180-whitespace-true-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-whitespace-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-whitespace-true.stdout.gz | Bin 0 -> 27 bytes ...in-lazy-180-whitespace-zero-node.stdout.gz | Bin 0 -> 515 bytes .../main-lazy-180-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-180-whitespace-zero.stdout.gz | Bin 0 -> 27 bytes ...main-lazy-2-canonical-plain-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-canonical-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-canonical-plain.stdout.gz | Bin 0 -> 79 bytes ...ain-lazy-2-canonical-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../main-lazy-2-canonical-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-canonical-pretty.stdout.gz | Bin 0 -> 97 bytes .../main-lazy-2-canonical-true-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-canonical-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-canonical-true.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-canonical-zero-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-canonical-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-canonical-zero.stdout.gz | Bin 0 -> 79 bytes ...main-lazy-2-duplicate-plain-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-duplicate-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-duplicate-plain.stdout.gz | Bin 0 -> 79 bytes ...ain-lazy-2-duplicate-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../main-lazy-2-duplicate-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-duplicate-pretty.stdout.gz | Bin 0 -> 97 bytes .../main-lazy-2-duplicate-true-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-duplicate-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-duplicate-true.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-duplicate-zero-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-duplicate-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-duplicate-zero.stdout.gz | Bin 0 -> 79 bytes ...ain-lazy-2-whitespace-plain-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-whitespace-plain.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-whitespace-plain.stdout.gz | Bin 0 -> 79 bytes ...in-lazy-2-whitespace-pretty-node.stdout.gz | Bin 0 -> 97 bytes .../main-lazy-2-whitespace-pretty.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-whitespace-pretty.stdout.gz | Bin 0 -> 97 bytes ...main-lazy-2-whitespace-true-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-whitespace-true.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-whitespace-true.stdout.gz | Bin 0 -> 79 bytes ...main-lazy-2-whitespace-zero-node.stdout.gz | Bin 0 -> 79 bytes .../main-lazy-2-whitespace-zero.stderr.gz | Bin 0 -> 20 bytes .../main-lazy-2-whitespace-zero.stdout.gz | Bin 0 -> 79 bytes .../main-options-build-0.log.gz | Bin 0 -> 309 bytes .../main-options-build-1.log.gz | Bin 0 -> 459 bytes .../main-options-validation.json | 142 + .../main-packed-index-get.s.gz | Bin 0 -> 2612 bytes .../main-prior-entry-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-auto-fullgc.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-auto-normal.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-auto-normal.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-auto-scheduled.stderr.gz | Bin 0 -> 365922 bytes .../main-prior-entry-auto-scheduled.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-compile.log.gz | Bin 0 -> 343 bytes .../main-prior-entry-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-direct-fullgc.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-direct-normal.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-direct-normal.stdout.gz | Bin 0 -> 360 bytes ...ain-prior-entry-direct-scheduled.stderr.gz | Bin 0 -> 361213 bytes ...ain-prior-entry-direct-scheduled.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-tape-fullgc.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-tape-normal.stderr.gz | Bin 0 -> 20 bytes .../main-prior-entry-tape-normal.stdout.gz | Bin 0 -> 360 bytes .../main-prior-entry-tape-scheduled.stderr.gz | Bin 0 -> 368614 bytes .../main-prior-entry-tape-scheduled.stdout.gz | Bin 0 -> 360 bytes .../llvm/retained_zero_worker_ts.ll.gz | Bin 0 -> 133406 bytes .../main-retained-ir-native/check-0.log.gz | Bin 0 -> 232 bytes .../main-retained-ir-native/compile.log.gz | Bin 0 -> 501 bytes .../main-retained-ir-native/rewrite.log.gz | Bin 0 -> 20 bytes .../main-retained-ir-native/zero.ll.gz | Bin 0 -> 169208 bytes .../llvm/retained_zero_worker_ts.ll.gz | Bin 0 -> 123918 bytes .../main-retained-ir-shadow/check-0.log.gz | Bin 0 -> 117 bytes .../main-retained-ir-shadow/check-1.log.gz | Bin 0 -> 153 bytes .../main-retained-ir-shadow/compile.log.gz | Bin 0 -> 505 bytes .../main-retained-ir-shadow/zero.ll.gz | Bin 0 -> 123918 bytes .../main-retained-roots.json | 52 + .../main-retained-zero-build-0.log.gz | Bin 0 -> 305 bytes .../main-retained-zero-build-1.log.gz | Bin 0 -> 453 bytes .../main-retained-zero-validation.json | 82 + ...main-retained-zero-workers-provenance.json | 35 + .../main-reuse-provenance.json | 2152 +++++ .../main-roots.json | 130 + .../main-rotating-worker-build-0.log.gz | Bin 0 -> 311 bytes .../main-rotating-worker-build-1.log.gz | Bin 0 -> 459 bytes ..._cached_construction-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-auto-fullgc.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-auto-normal.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-auto-normal.stdout.gz | Bin 0 -> 44204 bytes ...ched_construction-auto-scheduled.stderr.gz | Bin 0 -> 222541 bytes ...ched_construction-auto-scheduled.stdout.gz | Bin 0 -> 44204 bytes ...st_json_cached_construction-compile.log.gz | Bin 0 -> 352 bytes ...ached_construction-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...ached_construction-direct-fullgc.stdout.gz | Bin 0 -> 44204 bytes ...ached_construction-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...ached_construction-direct-normal.stdout.gz | Bin 0 -> 44204 bytes ...ed_construction-direct-scheduled.stderr.gz | Bin 0 -> 193781 bytes ...ed_construction-direct-scheduled.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-tape-fullgc.stdout.gz | Bin 0 -> 44204 bytes ..._cached_construction-tape-normal.stderr.gz | Bin 0 -> 20 bytes ..._cached_construction-tape-normal.stdout.gz | Bin 0 -> 44204 bytes ...ched_construction-tape-scheduled.stderr.gz | Bin 0 -> 224114 bytes ...ched_construction-tape-scheduled.stdout.gz | Bin 0 -> 44204 bytes ...st_json_cached_reads-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-auto-fullgc.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-auto-normal.stdout.gz | Bin 0 -> 43 bytes ...json_cached_reads-auto-scheduled.stderr.gz | Bin 0 -> 499399 bytes ...json_cached_reads-auto-scheduled.stdout.gz | Bin 0 -> 43 bytes ...main-test_json_cached_reads-compile.log.gz | Bin 0 -> 348 bytes ..._json_cached_reads-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ..._json_cached_reads-direct-fullgc.stdout.gz | Bin 0 -> 43 bytes ..._json_cached_reads-direct-normal.stderr.gz | Bin 0 -> 20 bytes ..._json_cached_reads-direct-normal.stdout.gz | Bin 0 -> 43 bytes ...on_cached_reads-direct-scheduled.stderr.gz | Bin 0 -> 431340 bytes ...on_cached_reads-direct-scheduled.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-tape-fullgc.stdout.gz | Bin 0 -> 43 bytes ...st_json_cached_reads-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...st_json_cached_reads-tape-normal.stdout.gz | Bin 0 -> 43 bytes ...json_cached_reads-tape-scheduled.stderr.gz | Bin 0 -> 499620 bytes ...json_cached_reads-tape-scheduled.stdout.gz | Bin 0 -> 43 bytes ...t_json_source_length-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-auto-fullgc.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-auto-normal.stdout.gz | Bin 0 -> 128 bytes ...son_source_length-auto-scheduled.stderr.gz | Bin 0 -> 37323 bytes ...son_source_length-auto-scheduled.stdout.gz | Bin 0 -> 128 bytes ...ain-test_json_source_length-compile.log.gz | Bin 0 -> 350 bytes ...json_source_length-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...json_source_length-direct-fullgc.stdout.gz | Bin 0 -> 128 bytes ...json_source_length-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...json_source_length-direct-normal.stdout.gz | Bin 0 -> 128 bytes ...n_source_length-direct-scheduled.stderr.gz | Bin 0 -> 37027 bytes ...n_source_length-direct-scheduled.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-tape-fullgc.stdout.gz | Bin 0 -> 128 bytes ...t_json_source_length-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...t_json_source_length-tape-normal.stdout.gz | Bin 0 -> 128 bytes ...son_source_length-tape-scheduled.stderr.gz | Bin 0 -> 37840 bytes ...son_source_length-tape-scheduled.stdout.gz | Bin 0 -> 128 bytes ...son_template_capture-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-auto-fullgc.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-auto-normal.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-auto-normal.stdout.gz | Bin 0 -> 105 bytes ..._template_capture-auto-scheduled.stderr.gz | Bin 0 -> 641297 bytes ..._template_capture-auto-scheduled.stdout.gz | Bin 0 -> 105 bytes ...-test_json_template_capture-compile.log.gz | Bin 0 -> 351 bytes ...n_template_capture-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes ...n_template_capture-direct-fullgc.stdout.gz | Bin 0 -> 105 bytes ...n_template_capture-direct-normal.stderr.gz | Bin 0 -> 20 bytes ...n_template_capture-direct-normal.stdout.gz | Bin 0 -> 105 bytes ...emplate_capture-direct-scheduled.stderr.gz | Bin 0 -> 638886 bytes ...emplate_capture-direct-scheduled.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-tape-fullgc.stdout.gz | Bin 0 -> 105 bytes ...son_template_capture-tape-normal.stderr.gz | Bin 0 -> 20 bytes ...son_template_capture-tape-normal.stdout.gz | Bin 0 -> 105 bytes ..._template_capture-tape-scheduled.stderr.gz | Bin 0 -> 640917 bytes ..._template_capture-tape-scheduled.stdout.gz | Bin 0 -> 105 bytes .../main-validation.log.gz | Bin 0 -> 1314 bytes .../main-worker-build-0.log.gz | Bin 0 -> 308 bytes .../main-worker-build-1.log.gz | Bin 0 -> 459 bytes .../main-workers-provenance.json | 134 + .../main-zero-auto-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-zero-auto-fullgc.stdout.gz | Bin 0 -> 601 bytes .../main-zero-auto-normal.stderr.gz | Bin 0 -> 20 bytes .../main-zero-auto-normal.stdout.gz | Bin 0 -> 601 bytes .../main-zero-auto-scheduled.stderr.gz | Bin 0 -> 45876 bytes .../main-zero-auto-scheduled.stdout.gz | Bin 0 -> 601 bytes .../main-zero-compile.log.gz | Bin 0 -> 332 bytes .../main-zero-direct-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-zero-direct-fullgc.stdout.gz | Bin 0 -> 601 bytes .../main-zero-direct-normal.stderr.gz | Bin 0 -> 20 bytes .../main-zero-direct-normal.stdout.gz | Bin 0 -> 601 bytes .../main-zero-direct-scheduled.stderr.gz | Bin 0 -> 46500 bytes .../main-zero-direct-scheduled.stdout.gz | Bin 0 -> 601 bytes .../llvm/test_json_zero_spacing_ts.ll.gz | Bin 0 -> 175687 bytes .../main-zero-ir-native/check-0.log.gz | Bin 0 -> 232 bytes .../main-zero-ir-native/compile.log.gz | Bin 0 -> 499 bytes .../main-zero-ir-native/rewrite.log.gz | Bin 0 -> 20 bytes .../main-zero-ir-native/zero.ll.gz | Bin 0 -> 240228 bytes .../llvm/test_json_zero_spacing_ts.ll.gz | Bin 0 -> 151917 bytes .../main-zero-ir-shadow/check-0.log.gz | Bin 0 -> 119 bytes .../main-zero-ir-shadow/check-1.log.gz | Bin 0 -> 154 bytes .../main-zero-ir-shadow/compile.log.gz | Bin 0 -> 503 bytes .../main-zero-ir-shadow/zero.ll.gz | Bin 0 -> 151917 bytes .../main-zero-roots.json | 52 + .../main-zero-tape-fullgc.stderr.gz | Bin 0 -> 20 bytes .../main-zero-tape-fullgc.stdout.gz | Bin 0 -> 601 bytes .../main-zero-tape-normal.stderr.gz | Bin 0 -> 20 bytes .../main-zero-tape-normal.stdout.gz | Bin 0 -> 601 bytes .../main-zero-tape-scheduled.stderr.gz | Bin 0 -> 47835 bytes .../main-zero-tape-scheduled.stdout.gz | Bin 0 -> 601 bytes .../main-zero-validation.json | 101 + .../zero-spacing-r25-validation/manifest.json | 8022 ++++++++++++++++ .../measure-changing-options.py | 27 + .../measure-full.py | 27 + .../measure-large-options.py | 27 + .../measure-large-recheck-options.py | 27 + .../measure-small-rotating-recheck.py | 44 + .../measure-supplement.py | 43 + .../measure-zero-retained.py | 23 + .../measurement-plan.json | 8 + .../measurement-verdict.md | 9 + .../options-analysis.json | 959 ++ ...-records_array_16k-pretty-normal.stderr.gz | Bin 0 -> 671 bytes ...-records_array_16k-pretty-normal.stdout.gz | Bin 0 -> 1840 bytes ...cords_array_16k-pretty-scheduled.stderr.gz | Bin 0 -> 5615 bytes ...cords_array_16k-pretty-scheduled.stdout.gz | Bin 0 -> 1840 bytes ...ate-small_record-callback-normal.stderr.gz | Bin 0 -> 672 bytes ...ate-small_record-callback-normal.stdout.gz | Bin 0 -> 169 bytes ...-small_record-callback-scheduled.stderr.gz | Bin 0 -> 6021 bytes ...-small_record-callback-scheduled.stdout.gz | Bin 0 -> 170 bytes ...small_record-dynamic-zero-normal.stderr.gz | Bin 0 -> 672 bytes ...small_record-dynamic-zero-normal.stdout.gz | Bin 0 -> 169 bytes ...ll_record-dynamic-zero-scheduled.stderr.gz | Bin 0 -> 5764 bytes ...ll_record-dynamic-zero-scheduled.stdout.gz | Bin 0 -> 169 bytes ...ndidate-small_record-keys-normal.stderr.gz | Bin 0 -> 671 bytes ...ndidate-small_record-keys-normal.stdout.gz | Bin 0 -> 169 bytes ...date-small_record-keys-scheduled.stderr.gz | Bin 0 -> 5738 bytes ...date-small_record-keys-scheduled.stdout.gz | Bin 0 -> 170 bytes ...didate-small_record-plain-normal.stderr.gz | Bin 0 -> 672 bytes ...didate-small_record-plain-normal.stdout.gz | Bin 0 -> 169 bytes ...ate-small_record-plain-scheduled.stderr.gz | Bin 0 -> 5769 bytes ...ate-small_record-plain-scheduled.stdout.gz | Bin 0 -> 175 bytes ...idate-small_record-pretty-normal.stderr.gz | Bin 0 -> 672 bytes ...idate-small_record-pretty-normal.stdout.gz | Bin 0 -> 177 bytes ...te-small_record-pretty-scheduled.stderr.gz | Bin 0 -> 5782 bytes ...te-small_record-pretty-scheduled.stdout.gz | Bin 0 -> 179 bytes ...ndidate-small_record-zero-normal.stderr.gz | Bin 0 -> 670 bytes ...ndidate-small_record-zero-normal.stdout.gz | Bin 0 -> 169 bytes ...date-small_record-zero-scheduled.stderr.gz | Bin 0 -> 5756 bytes ...date-small_record-zero-scheduled.stdout.gz | Bin 0 -> 171 bytes ...-records_array_16k-pretty-normal.stderr.gz | Bin 0 -> 670 bytes ...-records_array_16k-pretty-normal.stdout.gz | Bin 0 -> 1841 bytes ...cords_array_16k-pretty-scheduled.stderr.gz | Bin 0 -> 5583 bytes ...cords_array_16k-pretty-scheduled.stdout.gz | Bin 0 -> 1845 bytes ...ain-small_record-callback-normal.stderr.gz | Bin 0 -> 671 bytes ...ain-small_record-callback-normal.stdout.gz | Bin 0 -> 169 bytes ...-small_record-callback-scheduled.stderr.gz | Bin 0 -> 5902 bytes ...-small_record-callback-scheduled.stdout.gz | Bin 0 -> 170 bytes ...small_record-dynamic-zero-normal.stderr.gz | Bin 0 -> 670 bytes ...small_record-dynamic-zero-normal.stdout.gz | Bin 0 -> 168 bytes ...ll_record-dynamic-zero-scheduled.stderr.gz | Bin 0 -> 5704 bytes ...ll_record-dynamic-zero-scheduled.stdout.gz | Bin 0 -> 172 bytes ...ns-main-small_record-keys-normal.stderr.gz | Bin 0 -> 672 bytes ...ns-main-small_record-keys-normal.stdout.gz | Bin 0 -> 168 bytes ...main-small_record-keys-scheduled.stderr.gz | Bin 0 -> 5735 bytes ...main-small_record-keys-scheduled.stdout.gz | Bin 0 -> 170 bytes ...s-main-small_record-plain-normal.stderr.gz | Bin 0 -> 670 bytes ...s-main-small_record-plain-normal.stdout.gz | Bin 0 -> 170 bytes ...ain-small_record-plain-scheduled.stderr.gz | Bin 0 -> 5776 bytes ...ain-small_record-plain-scheduled.stdout.gz | Bin 0 -> 174 bytes ...-main-small_record-pretty-normal.stderr.gz | Bin 0 -> 671 bytes ...-main-small_record-pretty-normal.stdout.gz | Bin 0 -> 178 bytes ...in-small_record-pretty-scheduled.stderr.gz | Bin 0 -> 5753 bytes ...in-small_record-pretty-scheduled.stdout.gz | Bin 0 -> 181 bytes ...ns-main-small_record-zero-normal.stderr.gz | Bin 0 -> 671 bytes ...ns-main-small_record-zero-normal.stdout.gz | Bin 0 -> 169 bytes ...main-small_record-zero-scheduled.stderr.gz | Bin 0 -> 5741 bytes ...main-small_record-zero-scheduled.stdout.gz | Bin 0 -> 170 bytes .../options-worker.js | 56 + .../options-worker.ts | 56 + .../packaging-whitespace-repair.json | 58 + .../prior-entry-node.stdout.gz | Bin 0 -> 360 bytes .../probe-lazy-baseline.py | 23 + .../provenance.json | 80 + .../r24-entry-_js_array_get_f64.s.gz | Bin 0 -> 6044 bytes .../r24-entry-_js_json_parse.s.gz | Bin 0 -> 629 bytes .../r24-entry-_js_json_stringify.s.gz | Bin 0 -> 4782 bytes .../r24-entry-_js_json_stringify_full.s.gz | Bin 0 -> 16656 bytes .../r25-entry-_js_array_get_f64.s.gz | Bin 0 -> 6044 bytes .../r25-entry-_js_json_parse.s.gz | Bin 0 -> 634 bytes .../r25-entry-_js_json_stringify.s.gz | Bin 0 -> 4785 bytes .../r25-entry-_js_json_stringify_full.s.gz | Bin 0 -> 16492 bytes .../read-disassembly.json | 127 + .../refresh-validation.py | 18 + .../remaining-gaps.md | 24 + .../remote-changing-options-command.json | 21 + .../remote-changing-options.log.gz | Bin 0 -> 156 bytes .../remote-full-command.json | 117 + .../remote-full.log.gz | Bin 0 -> 161 bytes .../remote-large-options-command.json | 25 + .../remote-large-options.log.gz | Bin 0 -> 162 bytes .../remote-large-recheck-options-command.json | 19 + .../remote-large-recheck-options.log.gz | Bin 0 -> 133 bytes .../remote-options-command.json | 17 + .../remote-options.log.gz | Bin 0 -> 158 bytes .../remote-retained-command.json | 17 + .../remote-retained.log.gz | Bin 0 -> 160 bytes .../remote-rotating-command.json | 23 + .../remote-rotating.log.gz | Bin 0 -> 155 bytes ...remote-small-recheck-rotating-command.json | 23 + .../remote-small-recheck-rotating.log.gz | Bin 0 -> 155 bytes .../remote-stage-hashes.json | 135 + .../remote-zero-retained-command.json | 17 + .../remote-zero-retained.log.gz | Bin 0 -> 160 bytes .../retained-analysis.json | 7311 ++++++++++++++ ...tring_1m-retain-stringify-normal.stderr.gz | Bin 0 -> 4031 bytes ...tring_1m-retain-stringify-normal.stdout.gz | Bin 0 -> 1664 bytes ...ng_1m-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6130 bytes ...ng_1m-retain-stringify-scheduled.stdout.gz | Bin 0 -> 1663 bytes ...l_record-retain-stringify-normal.stderr.gz | Bin 0 -> 671 bytes ...l_record-retain-stringify-normal.stdout.gz | Bin 0 -> 173 bytes ...ecord-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6053 bytes ...ecord-retain-stringify-scheduled.stdout.gz | Bin 0 -> 174 bytes ...y_object-retain-stringify-normal.stderr.gz | Bin 0 -> 671 bytes ...y_object-retain-stringify-normal.stdout.gz | Bin 0 -> 92 bytes ...bject-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6104 bytes ...bject-retain-stringify-scheduled.stdout.gz | Bin 0 -> 98 bytes ...icode_1m-retain-stringify-normal.stderr.gz | Bin 0 -> 3188 bytes ...icode_1m-retain-stringify-normal.stdout.gz | Bin 0 -> 2304 bytes ...de_1m-retain-stringify-scheduled.stderr.gz | Bin 0 -> 5882 bytes ...de_1m-retain-stringify-scheduled.stdout.gz | Bin 0 -> 2300 bytes ...tring_1m-retain-stringify-normal.stderr.gz | Bin 0 -> 4061 bytes ...tring_1m-retain-stringify-normal.stdout.gz | Bin 0 -> 1662 bytes ...ng_1m-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6227 bytes ...ng_1m-retain-stringify-scheduled.stdout.gz | Bin 0 -> 1664 bytes ...l_record-retain-stringify-normal.stderr.gz | Bin 0 -> 671 bytes ...l_record-retain-stringify-normal.stdout.gz | Bin 0 -> 172 bytes ...ecord-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6115 bytes ...ecord-retain-stringify-scheduled.stdout.gz | Bin 0 -> 175 bytes ...y_object-retain-stringify-normal.stderr.gz | Bin 0 -> 672 bytes ...y_object-retain-stringify-normal.stdout.gz | Bin 0 -> 96 bytes ...bject-retain-stringify-scheduled.stderr.gz | Bin 0 -> 6090 bytes ...bject-retain-stringify-scheduled.stdout.gz | Bin 0 -> 98 bytes ...icode_1m-retain-stringify-normal.stderr.gz | Bin 0 -> 3191 bytes ...icode_1m-retain-stringify-normal.stdout.gz | Bin 0 -> 2300 bytes ...de_1m-retain-stringify-scheduled.stderr.gz | Bin 0 -> 5976 bytes ...de_1m-retain-stringify-scheduled.stdout.gz | Bin 0 -> 2304 bytes .../retained-zero-worker.js | 82 + .../retained-zero-worker.ts | 82 + .../retention-witness-initial/result.json | 4 + ...y_object-retain-stringify-normal.stderr.gz | Bin 0 -> 672 bytes ...y_object-retain-stringify-normal.stdout.gz | Bin 0 -> 89 bytes ...bject-retain-stringify-scheduled.stderr.gz | Bin 0 -> 813 bytes ...bject-retain-stringify-scheduled.stdout.gz | Bin 0 -> 93 bytes .../validate-retained-zero.py | 27 + .../root-comparison.json | 185 + .../rotating-analysis.json | 1575 +++ .../zero-spacing-r25-validation/run-access.py | 90 + .../run-after-build.py | 42 + .../run-candidate-validation.py | 29 + .../run-changing-options.py | 118 + .../zero-spacing-r25-validation/run-focus.py | 125 + .../zero-spacing-r25-validation/run-lint.py | 11 + .../run-options.py | 118 + .../run-retained.py | 129 + .../run-rotating.py | 167 + .../run-zero-retained.py.gz | Bin 0 -> 2328 bytes .../rustfmt-initial-stdout.txt | 448 + .../script-lint.log.gz | Bin 0 -> 2028 bytes .../zero-spacing-r25-validation/setup.json | 7 + .../small-rotating-recheck-analysis.json | 447 + .../source.patch.gz | Bin 0 -> 2726 bytes .../zero-spacing-r25-validation/stage.py | 80 + .../test-before-format.rs | 442 + .../test-formatted.rs | 446 + ...st_json_cached_construction-node.stdout.gz | Bin 0 -> 44204 bytes .../test_json_cached_reads-node.stdout.gz | Bin 0 -> 43 bytes .../test_json_source_length-node.stdout.gz | Bin 0 -> 128 bytes .../test_json_template_capture-node.stdout.gz | Bin 0 -> 105 bytes .../test_json_zero_spacing.ts | 101 + .../unit-source.json | 21 + .../zero-spacing-r25-validation/unit.log.gz | Bin 0 -> 6615 bytes .../validate-and-build.py | 21 + .../validate-changing-options.py | 27 + .../validate-fixtures.py | 22 + .../validate-fraction.py | 25 + .../validate-getter-baseline.py | 16 + .../validate-options.py | 27 + .../validate-retained-zero.py | 27 + .../validate-zero.py | 36 + .../validation-verdict.txt | 1 + .../write-report.py | 72 + .../zero-node.stderr.gz | Bin 0 -> 20 bytes .../zero-node.stdout.gz | Bin 0 -> 601 bytes .../zero-retained-analysis.json | 1655 ++++ .../zero-root-comparison.json | 17 + crates/perry-runtime/src/json/replacer.rs | 7 +- .../src/json/stringify_record_output_tests.rs | 33 + test-files/test_json_zero_spacing.ts | 101 + 1704 files changed, 174753 insertions(+), 1 deletion(-) create mode 100644 benchmarks/json_performance/ZERO_SPACING_R25.md create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-cases.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/measure-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/full-cases.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-full/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/large-cases.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/measure-large-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/large-recheck-cases.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/measure-large-recheck-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/measure-supplement.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-options/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/measure-supplement.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/memory.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/calibration.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/measure-supplement.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/calibration.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/measure-small-rotating-recheck.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/timing.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller-exit.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixtures.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/host.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-options-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/measure-zero-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/memory.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-after.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-before.txt create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/provenance.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained-command.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained.log create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/root-comparison.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/rotating-manifest.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-access.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-changing-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-options.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-retained.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-rotating.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.source.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.gz create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/summary.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/verify.jsonl create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/window.json create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/with_lock.py create mode 100644 benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/zero-root-comparison.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-artifacts.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/additional-root-comparison.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-changing-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-extras.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-full.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-recheck-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-retained.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-rotating.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-small-rotating-recheck.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-zero-retained.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/archive-results.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/archive-validation.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/base.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-changing-worker.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-command-result.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-release.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-retained-zero-worker.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-start.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build-workers.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/build.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/callback-only-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-11cached_read8lazy_get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-15lazy_get_rooted.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-8mutation26resolve_materialized_array.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-array-get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/.perry-trace/llvm/changing_options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fixture-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-check.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/ordinary-workers-check.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-packed-index-get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/.perry-trace/llvm/retained_zero_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/.perry-trace/llvm/retained_zero_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-rotating-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-rotating-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-validation.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-cases.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/check-changing-roots.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/check-retained-roots.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/check-roots.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/check-zero-roots.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/compare-json-entry-disassembly.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/compare-roots.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/file-cap.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/fixture-hashes.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/format-preparation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/fraction-baseline.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/full-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/full-cases-reuse.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/full-cases.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/full-controller-initial-failure.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/getter-baseline-comparison.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/getter-baseline-r24-original.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/getter-probe-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/access-worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/access-worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/rotating-worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/rotating-worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_access.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_dispatch_focus.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_regression_focus.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/with_lock.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/harness/worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/index-artifacts.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/file-cap.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/lint-results.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/repair.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/replacer.rs create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/script-lint.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/stringify_record_output_tests.rs create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/unit-source.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/unit.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/inspect-disassembly.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/json-entry-disassembly.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/large-cases.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/large-options-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/large-recheck-cases.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/large-recheck-options-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-candidate-probes.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-main-probes.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-probe-candidate-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/lint-results.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-11cached_read8lazy_get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-15lazy_get_rooted.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-8mutation26resolve_materialized_array.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-access-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-access-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-array-get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-build-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/.perry-trace/llvm/changing_options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-fixture-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-auto.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-auto.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-direct.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-direct.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-tape.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-tape.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-check.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/ordinary-workers-check.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/rewrite-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker-0.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-packed-index-get.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/.perry-trace/llvm/retained_zero_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/.perry-trace/llvm/retained_zero_worker_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-reuse-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-rotating-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-rotating-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-validation.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-worker-build-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-worker-build-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-workers-provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/rewrite.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/check-0.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/check-1.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/compile.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/zero.ll.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-roots.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-fullgc.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-fullgc.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-validation.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/manifest.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-changing-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-full.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-large-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-large-recheck-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-small-rotating-recheck.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-supplement.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measure-zero-retained.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measurement-plan.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/measurement-verdict.md create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/options-worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/packaging-whitespace-repair.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/prior-entry-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/probe-lazy-baseline.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/provenance.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_array_get_f64.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_parse.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_stringify.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_stringify_full.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_array_get_f64.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_parse.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_stringify.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_stringify_full.s.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/read-disassembly.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/refresh-validation.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remaining-gaps.md create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-changing-options-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-changing-options.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-full-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-full.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-options-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-options.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-recheck-options-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-recheck-options.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-options-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-options.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-retained-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-retained.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-rotating-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-rotating.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-small-recheck-rotating-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-small-recheck-rotating.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-stage-hashes.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-zero-retained-command.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/remote-zero-retained.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-worker.js create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-worker.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/result.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-normal.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-normal.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-scheduled.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-scheduled.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/validate-retained-zero.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/root-comparison.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/rotating-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-access.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-after-build.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-candidate-validation.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-changing-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-focus.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-lint.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-retained.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-rotating.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/run-zero-retained.py.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/rustfmt-initial-stdout.txt create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/script-lint.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/setup.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/small-rotating-recheck-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/source.patch.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/stage.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test-before-format.rs create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test-formatted.rs create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_cached_construction-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_cached_reads-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_source_length-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_template_capture-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_zero_spacing.ts create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/unit-source.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/unit.log.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-and-build.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-changing-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-fixtures.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-fraction.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-getter-baseline.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-options.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-retained-zero.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validate-zero.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/validation-verdict.txt create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/write-report.py create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/zero-node.stderr.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/zero-node.stdout.gz create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/zero-retained-analysis.json create mode 100644 benchmarks/json_performance/results/zero-spacing-r25-validation/zero-root-comparison.json create mode 100644 test-files/test_json_zero_spacing.ts diff --git a/benchmarks/json_performance/ZERO_SPACING_R25.md b/benchmarks/json_performance/ZERO_SPACING_R25.md new file mode 100644 index 0000000000..d5f12b848c --- /dev/null +++ b/benchmarks/json_performance/ZERO_SPACING_R25.md @@ -0,0 +1,435 @@ +# Canonical zero-spacing stringify: R25 + +**Controlled R24 comparison complete; unmerged.** Numeric-zero stringify now uses the existing canonical fast emitters. Repeated small-record zero-spacing CPU falls about 90% (436 ns to 45 ns), and changing the record before every call still improves about 69% (437 ns to 137 ns). One-megabyte ASCII and Unicode zero-spacing CPU falls 63% and 78%, with peak RSS lower by about 1.16 and 1.22 MiB. Retaining 200,000 tiny results saves 10.53 MiB peak RSS; retaining 100,000 small results saves 9.83 MiB. + +The full 50-case matrix has overlapping candidate/reference CPU ranges in every case. All 38 repeated-input parse/stringify medians remain below Node and Bun, already true of R24; those cache/lazy-sensitive microbenchmarks do not establish general JSON dominance. Full-matrix peak RSS changes range from -64 KiB to zero. All 36 plain retained-output CPU ranges overlap; peak RSS is 16–48 KiB lower and after-run RSS is unchanged or up to 32 KiB lower. + +A small parsing tradeoff remains: rotating small-record parsing is +0.21% with separated ranges in the first run and +0.23% in the independent eleven-repetition recheck, whose ranges overlap (nine of eleven pairs slower). This is about 1.1 ns per parse and is disclosed as a persistent median trend, not claimed to be zero. Other rotating-input cases have overlapping CPU ranges. Plain ASCII-string stringify was +7.46% in the first option control but +1.28% with overlapping ranges in its independent recheck and -0.10% in the full matrix. Plain Unicode stringify is +3.16% with overlapping ranges in the full matrix (four of seven pairs slower), versus +0.72% in the large-option control. These measurements do not establish exact equivalence. + +Remaining peer gaps include changing-record plain stringify (1.28x Node), small-record pretty output (1.60x Node), callback replacers (1.57x Node / 1.63x Bun), rotating small-record parsing (1.48x Node / 1.94x Bun), and rotating 1 MB Unicode-string parsing (2.23x Bun). Prior R24 field-access loops also remain substantially slower than Node. Existing lazy-array stringify correctness failures remain separate, explicit limitations. + +The reference is exact measured R24, not current main. PR #10050 contains the R24 implementation and remains ready/open at the latest pre-recheck status read; this R25 experiment is not a merged-main measurement. The public-benchmark freshness lint failure and unsuppressed baseline native-root findings remain documented and unwaived. CI is not being waited on before continuing optimization. + +## Scope and reference + +The canonical primitive/string/record/flat emitters now accept numeric +0, -0 and tagged INT32 zero as the spacer when the replacer is null or undefined. The separate lazy raw-source-copy predicate remains unchanged. Replacers, observable spacer coercions, descriptors and toJSON keep the existing semantic fallbacks. No production GC policy, threshold or parse-boundary change is included. + +Candidate source: `01f2878dad8efc92e394c49b88fe0800b871f593`. Reference: measured R24 `9495bfc95e2afcfb5a7cb535e440e61ec0722cb1`. Both use workspace version 0.5.1531 and the same production build command. The harness calls the reference `main`/`baseline`; it is R24, **not current main**. PR #10050 contains the same R24 implementation/test bytes with separate release metadata; this experiment does not claim a merged-main measurement. + +The four original benchmark object files and the two added control objects match between arms. Original R24 behavior/options results are reused with exact hashes and provenance. The new zero-spacing fixture and both new controls run against both frozen builds. Native and shadow IR comparisons normalize only the native ModuleID path comment. + +## Validation and known limitations + +295 serial release JSON runtime tests pass on the final measured source. The initial new cache-hit witness failed after only four cold calls; the established six-field fixture and eight output-verified calls cover cache admission before requiring reuse. The failed run and source are preserved. Formatting was corrected before the final build. Script lint passes 73 of 74 executed checks, retaining the existing public benchmark freshness failure; file-size checking passes. Compile-tier and CI-only lint checks are not represented as passes. + +Each arm has 46 original behavior comparisons, 14 original option comparisons, nine zero-spacing semantic/GC comparisons, four changing-record comparisons and eight retained-zero comparisons. Every scheduled subject reports positive moved-object and protected-from-space counters. The new semantic fixture checks getters, own/inherited toJSON, mutations after caching, boxed-spacer coercion, replacers and live retained outputs. + +The new zero-spacing fixture and retained-zero worker pass native and shadow root checks. The changing-record worker passes shadow checks but retains four unsuppressed R24 native unrooted/global property-write findings. The original fixture set retains its 16 unsuppressed native findings. Matching IR/fingerprints establish an unchanged baseline, not a clean native safety verdict. The original 18 IR files reuse their previously executed checker verdicts only after exact emitted-IR and checker-source equivalence; the three added subjects run fresh checks in both arms. + +The existing lazy-spacer crashes/noncanonical outputs, lazy-getter failures and fractional-spacing difference remain explicit baseline outcomes. They are not fixed or counted as conformance passes. The zero-spacing fast path does not widen the lazy source-copy shortcut. + +## Measurement method + +Quiet M1/8 GiB host, Node 26.5.1 and Bun 1.3.14. Fresh processes and interleaved engine order; fixed workloads and seven repetitions unless a recheck says otherwise. Every terminal window is archived before any subsequent remote operation, including failed attempts. CPU is user+system time per measured loop iteration; RSS is whole-process peak memory. Changing-record loops include the per-iteration mutation. Retained loops include retaining results. One-operation retained CPU measurements are cold and have limited timer resolution; use the larger-count rows for throughput comparisons. Repeated-input parse timings include existing input caches and lazy construction. Consumption loops measure additional access work separately. Overlapping sample ranges do not establish equivalence. + +### Original stringify-option cases + +Window: 2026-09-11T08:25:53Z to 2026-09-11T08:27:08Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| small_record / plain | 0.045296 | 0.044854 | 0.108453 | 0.119914 | -0.97% | gain | +| small_record / dynamic-zero | 0.435984 | 0.044567 | 0.247717 | 0.394491 | -89.78% | gain | +| small_record / zero | 0.436010 | 0.044820 | 0.247494 | 0.394276 | -89.72% | gain | +| small_record / pretty | 0.485877 | 0.484270 | 0.302888 | 0.524905 | -0.33% | overlap | +| small_record / keys | 0.459748 | 0.460551 | 0.597278 | 0.484141 | +0.17% | overlap | +| small_record / callback | 0.945910 | 0.947095 | 0.602905 | 0.582635 | +0.13% | overlap | +| records_array_16k / pretty | 46.124000 | 46.292000 | 33.389000 | 45.856000 | +0.36% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| small_record / plain | 33.406 | 33.438 | 59.594 | 378.562 | +0.031 | +| small_record / dynamic-zero | 33.781 | 33.438 | 59.625 | 378.625 | -0.344 | +| small_record / zero | 33.766 | 33.422 | 59.609 | 378.625 | -0.344 | +| small_record / pretty | 33.781 | 33.766 | 59.625 | 239.359 | -0.016 | +| small_record / keys | 33.766 | 33.750 | 59.719 | 207.781 | -0.016 | +| small_record / callback | 32.484 | 32.484 | 59.656 | 97.688 | +0.000 | +| records_array_16k / pretty | 35.078 | 35.078 | 57.047 | 49.719 | +0.000 | + +### Changing record before every stringify + +Window: 2026-09-11T08:27:45Z to 2026-09-11T08:28:12Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| small_record / changing-plain | 0.136797 | 0.136790 | 0.107215 | 0.120530 | -0.01% | overlap | +| small_record / changing-zero | 0.437063 | 0.136780 | 0.247764 | 0.394572 | -68.70% | gain | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| small_record / changing-plain | 33.672 | 33.688 | 59.859 | 378.500 | +0.016 | +| small_record / changing-zero | 33.969 | 33.688 | 59.734 | 378.578 | -0.281 | + +### One-megabyte strings and Unicode + +Window: 2026-09-11T08:29:45Z to 2026-09-11T08:30:13Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| long_string_1m / plain | 36.889648 | 39.641602 | 106.894531 | 99.096680 | +7.46% | overlap | +| long_string_1m / dynamic-zero | 106.222656 | 39.350586 | 393.194336 | 532.836914 | -62.95% | gain | +| unicode_1m / plain | 33.609375 | 33.852539 | 415.519531 | 452.879883 | +0.72% | overlap | +| unicode_1m / dynamic-zero | 147.859375 | 32.056641 | 542.926758 | 440.618164 | -78.32% | gain | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| long_string_1m / plain | 54.578 | 54.578 | 154.016 | 155.578 | +0.000 | +| long_string_1m / dynamic-zero | 55.734 | 54.578 | 131.844 | 151.359 | -1.156 | +| unicode_1m / plain | 53.984 | 53.984 | 147.844 | 152.594 | +0.000 | +| unicode_1m / dynamic-zero | 55.172 | 53.953 | 126.156 | 150.797 | -1.219 | + +### Independent ASCII plain recheck (11 repetitions) + +Window: 2026-09-11T08:33:15Z to 2026-09-11T08:33:20Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| long_string_1m / plain | 38.120117 | 38.607422 | 107.276367 | 99.112305 | +1.28% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| long_string_1m / plain | 54.609 | 54.578 | 154.000 | 155.516 | -0.031 | + +### Original 38 plus 12 consumption cases + +Window: 2026-09-11T08:38:57Z to 2026-09-11T08:45:48Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| null / parse | 0.010622 | 0.010632 | 0.027345 | 0.019169 | +0.09% | overlap | +| null / stringify | 0.006560 | 0.006567 | 0.027203 | 0.031263 | +0.10% | overlap | +| string_a / parse | 0.012828 | 0.012821 | 0.031732 | 0.022610 | -0.05% | overlap | +| string_a / stringify | 0.009692 | 0.009692 | 0.030076 | 0.032051 | +0.01% | overlap | +| empty_object / parse | 0.023440 | 0.023419 | 0.045156 | 0.024112 | -0.09% | overlap | +| empty_object / stringify | 0.017633 | 0.017607 | 0.031966 | 0.032645 | -0.15% | overlap | +| tiny_object / parse | 0.036826 | 0.036762 | 0.081479 | 0.045202 | -0.17% | overlap | +| tiny_object / stringify | 0.033950 | 0.033932 | 0.037170 | 0.043155 | -0.05% | overlap | +| small_record / parse | 0.098576 | 0.098582 | 0.342048 | 0.244202 | +0.01% | overlap | +| small_record / stringify | 0.045914 | 0.045712 | 0.108008 | 0.119419 | -0.44% | overlap | +| object_1k / parse | 0.082004 | 0.082024 | 0.532162 | 0.227457 | +0.02% | overlap | +| object_1k / stringify | 0.115039 | 0.115454 | 0.193485 | 0.211251 | +0.36% | overlap | +| records_array_16k / parse | 13.593850 | 13.588355 | 40.897643 | 33.816466 | -0.04% | overlap | +| records_array_16k / stringify | 10.989652 | 10.997683 | 13.188200 | 23.154915 | +0.07% | overlap | +| records_array_16k / sparse | 19.986909 | 19.972039 | 39.682893 | 33.938485 | -0.07% | overlap | +| records_array_16k / scan | 58.880617 | 58.887264 | 41.383143 | 35.691040 | +0.01% | overlap | +| records_array_16k / roundtrip | 20.991383 | 20.977151 | 53.202637 | 57.690952 | -0.07% | overlap | +| records_array_1m / parse | 918.935294 | 917.694118 | 2674.923529 | 2143.958824 | -0.14% | overlap | +| records_array_1m / stringify | 644.816594 | 645.262009 | 846.340611 | 965.934498 | +0.07% | overlap | +| records_array_1m / sparse | 968.279503 | 966.888199 | 2720.347826 | 2182.124224 | -0.14% | overlap | +| records_array_1m / scan | 2814.376812 | 2816.260870 | 2965.275362 | 2227.260870 | +0.07% | overlap | +| records_array_1m / roundtrip | 1409.982609 | 1411.452174 | 3614.495652 | 3109.330435 | +0.10% | overlap | +| records_object_1m / parse | 2008.469136 | 2010.074074 | 2712.111111 | 2152.135802 | +0.08% | overlap | +| records_object_1m / stringify | 647.672489 | 650.663755 | 850.021834 | 965.755459 | +0.46% | overlap | +| records_array_8m / parse | 8278.312500 | 8287.875000 | 32928.250000 | 20853.375000 | +0.12% | overlap | +| records_array_8m / stringify | 4716.931034 | 4730.793103 | 7262.344828 | 8156.482759 | +0.29% | overlap | +| records_array_8m / sparse | 8856.466667 | 8855.733333 | 32417.200000 | 21521.733333 | -0.01% | overlap | +| records_array_8m / scan | 21825.375000 | 21801.375000 | 29949.625000 | 21397.125000 | -0.11% | overlap | +| records_array_8m / roundtrip | 13136.727273 | 13112.636364 | 36706.545455 | 27358.818182 | -0.18% | overlap | +| records_object_8m / parse | 15925.500000 | 15953.200000 | 34205.400000 | 20897.400000 | +0.17% | overlap | +| records_object_8m / stringify | 4777.103448 | 4769.103448 | 7255.517241 | 8203.793103 | -0.17% | overlap | +| records_array_20m / parse | 39730.500000 | 39753.750000 | 94999.000000 | 53749.750000 | +0.06% | overlap | +| records_array_20m / stringify | 11786.083333 | 11781.583333 | 17299.000000 | 20193.833333 | -0.04% | overlap | +| records_array_20m / sparse | 39742.750000 | 39663.000000 | 94006.500000 | 53582.750000 | -0.20% | overlap | +| records_array_20m / scan | 40806.250000 | 40863.250000 | 89892.500000 | 54291.750000 | +0.14% | overlap | +| records_array_20m / roundtrip | 99246.500000 | 99293.500000 | 103711.500000 | 77098.500000 | +0.05% | overlap | +| records_object_20m / parse | 39730.500000 | 39703.500000 | 96283.500000 | 53623.250000 | -0.07% | overlap | +| records_object_20m / stringify | 11744.666667 | 11738.083333 | 17292.416667 | 20170.666667 | -0.06% | overlap | +| numbers_1m / parse | 1586.264706 | 1582.480392 | 3128.019608 | 3200.019608 | -0.24% | overlap | +| numbers_1m / stringify | 1014.061224 | 1013.727891 | 1975.680272 | 2942.755102 | -0.03% | overlap | +| long_string_1m / parse | 0.349964 | 0.349964 | 364.807199 | 64.888097 | +0.00% | overlap | +| long_string_1m / stringify | 36.137877 | 36.103538 | 102.091051 | 95.181582 | -0.10% | overlap | +| escaped_1m / parse | 980.962025 | 980.550633 | 1763.000000 | 2073.107595 | -0.04% | overlap | +| escaped_1m / stringify | 884.325301 | 884.837349 | 1899.879518 | 2087.397590 | +0.06% | overlap | +| unicode_1m / parse | 0.349605 | 0.349246 | 441.970567 | 58.221106 | -0.10% | overlap | +| unicode_1m / stringify | 27.827475 | 28.706667 | 410.091313 | 447.957172 | +3.16% | overlap | +| wide_1m / parse | 2912.781250 | 2908.265625 | 5250.812500 | 4142.984375 | -0.16% | overlap | +| wide_1m / stringify | 634.241379 | 634.133621 | 6334.362069 | 663.987069 | -0.02% | overlap | +| heterogeneous_1m / parse | 1117.140845 | 1116.746479 | 3852.429577 | 2967.126761 | -0.04% | overlap | +| heterogeneous_1m / stringify | 718.655963 | 717.766055 | 898.160550 | 1059.440367 | -0.12% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| null / parse | 12.828 | 12.797 | 57.641 | 35.750 | -0.031 | +| null / stringify | 13.031 | 13.000 | 59.609 | 129.812 | -0.031 | +| string_a / parse | 12.828 | 12.797 | 57.734 | 36.109 | -0.031 | +| string_a / stringify | 13.031 | 13.000 | 59.672 | 129.812 | -0.031 | +| empty_object / parse | 32.156 | 32.125 | 59.547 | 69.062 | -0.031 | +| empty_object / stringify | 13.125 | 13.094 | 59.641 | 129.828 | -0.031 | +| tiny_object / parse | 32.312 | 32.297 | 59.578 | 69.094 | -0.016 | +| tiny_object / stringify | 32.344 | 32.312 | 59.672 | 129.797 | -0.031 | +| small_record / parse | 79.578 | 79.547 | 59.734 | 79.922 | -0.031 | +| small_record / stringify | 33.359 | 33.328 | 59.719 | 378.734 | -0.031 | +| object_1k / parse | 64.969 | 64.938 | 61.844 | 71.266 | -0.031 | +| object_1k / stringify | 33.375 | 33.344 | 61.859 | 70.891 | -0.031 | +| records_array_16k / parse | 63.469 | 63.422 | 65.875 | 70.641 | -0.047 | +| records_array_16k / stringify | 33.547 | 33.516 | 61.922 | 71.047 | -0.031 | +| records_array_16k / sparse | 72.250 | 72.219 | 66.031 | 70.641 | -0.031 | +| records_array_16k / scan | 204.469 | 204.438 | 61.953 | 77.406 | -0.031 | +| records_array_16k / roundtrip | 68.812 | 68.766 | 65.891 | 70.891 | -0.047 | +| records_array_1m / parse | 67.125 | 67.094 | 125.719 | 88.719 | -0.031 | +| records_array_1m / stringify | 63.031 | 63.000 | 129.391 | 103.688 | -0.031 | +| records_array_1m / sparse | 67.656 | 67.625 | 125.656 | 97.453 | -0.031 | +| records_array_1m / scan | 158.531 | 158.500 | 97.578 | 83.188 | -0.031 | +| records_array_1m / roundtrip | 61.500 | 61.469 | 152.125 | 93.328 | -0.031 | +| records_object_1m / parse | 66.453 | 66.422 | 93.031 | 79.188 | -0.031 | +| records_object_1m / stringify | 63.094 | 63.031 | 129.422 | 103.703 | -0.062 | +| records_array_8m / parse | 108.844 | 108.812 | 266.031 | 141.062 | -0.031 | +| records_array_8m / stringify | 121.156 | 121.125 | 212.688 | 196.641 | -0.031 | +| records_array_8m / sparse | 109.188 | 109.156 | 265.969 | 188.109 | -0.031 | +| records_array_8m / scan | 186.750 | 186.719 | 230.094 | 133.641 | -0.031 | +| records_array_8m / roundtrip | 129.281 | 129.250 | 267.438 | 147.781 | -0.031 | +| records_object_8m / parse | 187.344 | 187.312 | 244.281 | 131.625 | -0.031 | +| records_object_8m / stringify | 121.188 | 121.172 | 212.609 | 196.781 | -0.016 | +| records_array_20m / parse | 255.453 | 255.406 | 359.750 | 220.594 | -0.047 | +| records_array_20m / stringify | 235.234 | 235.203 | 459.516 | 304.906 | -0.031 | +| records_array_20m / sparse | 255.438 | 255.422 | 359.969 | 220.797 | -0.016 | +| records_array_20m / scan | 255.469 | 255.438 | 330.828 | 225.891 | -0.031 | +| records_array_20m / roundtrip | 295.375 | 295.344 | 342.125 | 255.969 | -0.031 | +| records_object_20m / parse | 255.453 | 255.422 | 359.641 | 220.828 | -0.031 | +| records_object_20m / stringify | 235.250 | 235.219 | 459.516 | 304.828 | -0.031 | +| numbers_1m / parse | 62.797 | 62.766 | 104.172 | 68.234 | -0.031 | +| numbers_1m / stringify | 57.859 | 57.859 | 113.062 | 74.297 | +0.000 | +| long_string_1m / parse | 16.469 | 16.438 | 209.188 | 164.422 | -0.031 | +| long_string_1m / stringify | 54.500 | 54.500 | 183.641 | 153.656 | +0.000 | +| escaped_1m / parse | 58.422 | 58.391 | 102.625 | 67.891 | -0.031 | +| escaped_1m / stringify | 54.906 | 54.875 | 124.875 | 74.797 | -0.031 | +| unicode_1m / parse | 15.781 | 15.750 | 199.969 | 163.391 | -0.031 | +| unicode_1m / stringify | 53.875 | 53.844 | 186.422 | 152.672 | -0.031 | +| wide_1m / parse | 227.719 | 227.688 | 121.172 | 95.094 | -0.031 | +| wide_1m / stringify | 68.688 | 68.625 | 117.984 | 84.625 | -0.062 | +| heterogeneous_1m / parse | 62.578 | 62.547 | 92.781 | 99.672 | -0.031 | +| heterogeneous_1m / stringify | 61.734 | 61.703 | 128.969 | 104.062 | -0.031 | + +### Eight rotating inputs per fixture + +Window: 2026-09-11T08:47:33Z to 2026-09-11T08:49:16Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| small_record / rotating | 0.493817 | 0.494836 | 0.335190 | 0.255234 | +0.21% | regression | +| small_record / same | 0.099047 | 0.099088 | 0.343890 | 0.245732 | +0.04% | overlap | +| small_record / select | 0.009430 | 0.009437 | 0.002658 | 0.003611 | +0.07% | overlap | +| records_array_1m / rotating | 942.293103 | 942.178161 | 2676.511494 | 2158.028736 | -0.01% | overlap | +| records_array_1m / same | 940.017143 | 937.862857 | 2625.685714 | 2150.805714 | -0.23% | overlap | +| records_array_1m / select | 0.011454 | 0.011632 | 0.003145 | 0.003842 | +1.56% | overlap | +| long_string_1m / rotating | 100.083794 | 99.967589 | 373.133597 | 70.525692 | -0.12% | overlap | +| long_string_1m / same | 0.361580 | 0.360943 | 377.057025 | 66.031220 | -0.18% | overlap | +| long_string_1m / select | 0.011910 | 0.011288 | 0.003089 | 0.003863 | -5.22% | overlap | +| escaped_1m / rotating | 1011.415094 | 1011.861635 | 1725.993711 | 2078.144654 | +0.04% | overlap | +| escaped_1m / same | 993.893750 | 993.006250 | 1723.193750 | 2073.712500 | -0.09% | overlap | +| escaped_1m / select | 0.011746 | 0.011022 | 0.003126 | 0.003867 | -6.17% | overlap | +| unicode_1m / rotating | 141.788476 | 141.954048 | 439.762217 | 63.787746 | +0.12% | overlap | +| unicode_1m / same | 0.356497 | 0.357582 | 440.522620 | 59.723489 | +0.30% | overlap | +| unicode_1m / select | 0.011917 | 0.011314 | 0.003141 | 0.003887 | -5.07% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| small_record / rotating | 31.984 | 31.969 | 59.891 | 80.172 | -0.016 | +| small_record / same | 75.984 | 75.953 | 59.562 | 79.875 | -0.031 | +| small_record / select | 12.812 | 12.797 | 57.859 | 35.281 | -0.016 | +| records_array_1m / rotating | 76.297 | 76.281 | 128.828 | 100.453 | -0.016 | +| records_array_1m / same | 76.297 | 76.281 | 128.844 | 100.141 | -0.016 | +| records_array_1m / select | 22.594 | 22.578 | 67.625 | 42.531 | -0.016 | +| long_string_1m / rotating | 90.234 | 90.219 | 176.562 | 148.453 | -0.016 | +| long_string_1m / same | 24.609 | 24.578 | 204.641 | 148.578 | -0.031 | +| long_string_1m / select | 24.328 | 24.312 | 69.031 | 43.781 | -0.016 | +| escaped_1m / rotating | 65.000 | 64.984 | 89.656 | 77.750 | -0.016 | +| escaped_1m / same | 65.000 | 64.984 | 89.641 | 77.766 | -0.016 | +| escaped_1m / select | 23.531 | 23.516 | 68.453 | 43.266 | -0.016 | +| unicode_1m / rotating | 61.156 | 61.141 | 158.531 | 155.266 | -0.016 | +| unicode_1m / same | 22.703 | 22.688 | 208.750 | 153.531 | -0.016 | +| unicode_1m / select | 22.422 | 22.422 | 68.562 | 44.641 | +0.000 | + +### Independent small-record rotating recheck (11 repetitions) + +Window: 2026-09-11T08:50:13Z to 2026-09-11T08:50:41Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| small_record / rotating | 0.493474 | 0.494615 | 0.343240 | 0.254888 | +0.23% | overlap | +| small_record / same | 0.098940 | 0.099067 | 0.341858 | 0.245664 | +0.13% | overlap | +| small_record / select | 0.009430 | 0.009433 | 0.002658 | 0.003641 | +0.04% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| small_record / rotating | 31.984 | 31.969 | 59.922 | 80.188 | -0.016 | +| small_record / same | 78.438 | 78.422 | 59.656 | 79.859 | -0.016 | +| small_record / select | 12.812 | 12.797 | 57.844 | 35.281 | -0.016 | + +### Retained zero-spacing outputs + +Window: 2026-09-11T08:32:27Z to 2026-09-11T08:32:37Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| tiny_object / retain-stringify / 1 live | 16.000000 | 10.000000 | 357.000000 | 11.000000 | -37.50% | overlap | +| tiny_object / retain-stringify / 200000 live | 0.253885 | 0.046980 | 0.112850 | 0.135745 | -81.50% | gain | +| small_record / retain-stringify / 1 live | 18.000000 | 12.000000 | 366.000000 | 13.000000 | -33.33% | gain | +| small_record / retain-stringify / 100000 live | 0.461890 | 0.067160 | 0.324940 | 0.408080 | -85.46% | gain | +| long_string_1m / retain-stringify / 1 live | 272.000000 | 135.000000 | 1236.000000 | 649.000000 | -50.37% | gain | +| long_string_1m / retain-stringify / 32 live | 246.812500 | 169.937500 | 485.687500 | 605.312500 | -31.15% | gain | +| unicode_1m / retain-stringify / 1 live | 284.000000 | 117.000000 | 1391.000000 | 558.000000 | -58.80% | gain | +| unicode_1m / retain-stringify / 32 live | 189.562500 | 69.375000 | 626.062500 | 483.500000 | -63.40% | gain | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| tiny_object / retain-stringify / 1 live | 13.094 | 13.047 | 53.609 | 28.719 | -0.047 | +| tiny_object / retain-stringify / 200000 live | 36.047 | 25.516 | 72.156 | 47.484 | -10.531 | +| small_record / retain-stringify / 1 live | 13.109 | 13.062 | 53.641 | 28.734 | -0.047 | +| small_record / retain-stringify / 100000 live | 38.531 | 28.703 | 81.219 | 51.516 | -9.828 | +| long_string_1m / retain-stringify / 1 live | 19.891 | 18.734 | 61.656 | 34.062 | -1.156 | +| long_string_1m / retain-stringify / 32 live | 52.906 | 51.781 | 93.359 | 65.172 | -1.125 | +| unicode_1m / retain-stringify / 1 live | 18.547 | 17.594 | 61.594 | 34.469 | -0.953 | +| unicode_1m / retain-stringify / 32 live | 43.922 | 42.969 | 89.844 | 62.172 | -0.953 | + +| Fixture / operation | R24 after MiB | R25 after MiB | Node after MiB | Bun after MiB | After-RSS change MiB | +|---|---:|---:|---:|---:|---:| +| tiny_object / retain-stringify / 1 live | 12.000 | 11.969 | 52.844 | 28.312 | -0.031 | +| tiny_object / retain-stringify / 200000 live | 35.547 | 24.453 | 71.453 | 47.078 | -11.094 | +| small_record / retain-stringify / 1 live | 12.016 | 11.984 | 52.906 | 28.328 | -0.031 | +| small_record / retain-stringify / 100000 live | 30.781 | 27.641 | 80.484 | 51.109 | -3.141 | +| long_string_1m / retain-stringify / 1 live | 18.812 | 17.672 | 60.766 | 33.656 | -1.141 | +| long_string_1m / retain-stringify / 32 live | 52.406 | 51.266 | 92.469 | 64.766 | -1.141 | +| unicode_1m / retain-stringify / 1 live | 17.469 | 16.531 | 60.938 | 34.062 | -0.938 | +| unicode_1m / retain-stringify / 32 live | 42.844 | 41.906 | 89.172 | 61.766 | -0.938 | + +### Retained plain outputs + +Window: 2026-09-11T08:46:18Z to 2026-09-11T08:47:18Z. + +| Fixture / operation | R24 µs | R25 µs | Node µs | Bun µs | CPU change | Ranges | +|---|---:|---:|---:|---:|---:|---| +| tiny_object / retain-parse / 1 live | 31.000000 | 32.000000 | 381.000000 | 9.000000 | +3.23% | overlap | +| tiny_object / retain-parse / 200000 live | 0.044305 | 0.044485 | 0.132875 | 0.058755 | +0.41% | overlap | +| tiny_object / retain-stringify / 1 live | 11.000000 | 11.000000 | 365.000000 | 7.000000 | +0.00% | overlap | +| tiny_object / retain-stringify / 200000 live | 0.047155 | 0.047100 | 0.083655 | 0.049555 | -0.12% | overlap | +| small_record / retain-parse / 1 live | 33.000000 | 33.000000 | 385.000000 | 13.000000 | +0.00% | overlap | +| small_record / retain-parse / 100000 live | 0.104260 | 0.104090 | 0.481750 | 0.263780 | -0.16% | overlap | +| small_record / retain-stringify / 1 live | 12.000000 | 13.000000 | 365.000000 | 9.000000 | +8.33% | overlap | +| small_record / retain-stringify / 100000 live | 0.067730 | 0.067160 | 0.186570 | 0.136190 | -0.84% | overlap | +| records_array_1m / retain-parse / 1 live | 944.000000 | 949.000000 | 3845.000000 | 2412.000000 | +0.53% | overlap | +| records_array_1m / retain-parse / 16 live | 855.062500 | 857.000000 | 3617.750000 | 2135.250000 | +0.23% | overlap | +| records_array_1m / retain-stringify / 1 live | 804.000000 | 805.000000 | 1340.000000 | 1077.000000 | +0.12% | overlap | +| records_array_1m / retain-stringify / 16 live | 656.875000 | 661.937500 | 1000.500000 | 992.875000 | +0.77% | overlap | +| records_object_1m / retain-parse / 1 live | 1867.000000 | 1868.000000 | 3982.000000 | 2412.000000 | +0.05% | overlap | +| records_object_1m / retain-parse / 16 live | 2976.750000 | 2987.062500 | 3603.375000 | 2133.562500 | +0.35% | overlap | +| records_object_1m / retain-stringify / 1 live | 806.000000 | 806.000000 | 1339.000000 | 1072.000000 | +0.00% | overlap | +| records_object_1m / retain-stringify / 16 live | 664.750000 | 661.187500 | 1000.937500 | 992.625000 | -0.54% | overlap | +| records_array_8m / retain-parse / 1 live | 8286.000000 | 8270.000000 | 28265.000000 | 18730.000000 | -0.19% | overlap | +| records_array_8m / retain-parse / 4 live | 8269.250000 | 8277.250000 | 27079.250000 | 21805.000000 | +0.10% | overlap | +| records_array_8m / retain-stringify / 1 live | 29807.000000 | 29710.000000 | 7737.000000 | 8221.000000 | -0.33% | overlap | +| records_array_8m / retain-stringify / 4 live | 16214.750000 | 16205.000000 | 8903.500000 | 9397.250000 | -0.06% | overlap | +| records_object_8m / retain-parse / 1 live | 14484.000000 | 14440.000000 | 28698.000000 | 18557.000000 | -0.30% | overlap | +| records_object_8m / retain-parse / 4 live | 22370.250000 | 22363.250000 | 27837.750000 | 21774.500000 | -0.03% | overlap | +| records_object_8m / retain-stringify / 1 live | 30019.000000 | 30023.000000 | 7884.000000 | 8269.000000 | +0.01% | overlap | +| records_object_8m / retain-stringify / 4 live | 16335.000000 | 16374.000000 | 9046.000000 | 9482.250000 | +0.24% | overlap | +| long_string_1m / retain-parse / 1 live | 166.000000 | 163.000000 | 817.000000 | 129.000000 | -1.81% | overlap | +| long_string_1m / retain-parse / 32 live | 5.625000 | 5.593750 | 466.156250 | 140.031250 | -0.56% | overlap | +| long_string_1m / retain-stringify / 1 live | 133.000000 | 135.000000 | 936.000000 | 152.000000 | +1.50% | overlap | +| long_string_1m / retain-stringify / 32 live | 171.906250 | 169.906250 | 193.750000 | 171.906250 | -1.16% | overlap | +| unicode_1m / retain-parse / 1 live | 197.000000 | 199.000000 | 1235.000000 | 117.000000 | +1.02% | overlap | +| unicode_1m / retain-parse / 32 live | 6.781250 | 6.687500 | 528.437500 | 103.375000 | -1.38% | overlap | +| unicode_1m / retain-stringify / 1 live | 117.000000 | 118.000000 | 1229.000000 | 583.000000 | +0.85% | overlap | +| unicode_1m / retain-stringify / 32 live | 67.250000 | 65.968750 | 498.625000 | 494.875000 | -1.91% | overlap | +| wide_1m / retain-parse / 1 live | 2608.000000 | 2626.000000 | 7525.000000 | 5724.000000 | +0.69% | overlap | +| wide_1m / retain-parse / 16 live | 3691.625000 | 3691.687500 | 5576.937500 | 4304.500000 | +0.00% | overlap | +| wide_1m / retain-stringify / 1 live | 2505.000000 | 2502.000000 | 7627.000000 | 782.000000 | -0.12% | overlap | +| wide_1m / retain-stringify / 16 live | 751.625000 | 752.062500 | 6483.125000 | 704.812500 | +0.06% | overlap | + +| Fixture / operation | R24 MiB | R25 MiB | Node MiB | Bun MiB | Peak RSS change MiB | +|---|---:|---:|---:|---:|---:| +| tiny_object / retain-parse / 1 live | 13.000 | 12.969 | 53.609 | 28.719 | -0.031 | +| tiny_object / retain-parse / 200000 live | 25.469 | 25.422 | 75.609 | 50.641 | -0.047 | +| tiny_object / retain-stringify / 1 live | 13.094 | 13.062 | 53.688 | 28.750 | -0.031 | +| tiny_object / retain-stringify / 200000 live | 25.562 | 25.531 | 72.094 | 47.516 | -0.031 | +| small_record / retain-parse / 1 live | 12.984 | 12.953 | 53.625 | 28.703 | -0.031 | +| small_record / retain-parse / 100000 live | 25.484 | 25.469 | 86.312 | 53.125 | -0.016 | +| small_record / retain-stringify / 1 live | 13.109 | 13.078 | 53.703 | 28.766 | -0.031 | +| small_record / retain-stringify / 100000 live | 28.734 | 28.703 | 81.172 | 51.531 | -0.031 | +| records_array_1m / retain-parse / 1 live | 17.625 | 17.594 | 60.359 | 32.062 | -0.031 | +| records_array_1m / retain-parse / 16 live | 41.516 | 41.484 | 89.531 | 56.375 | -0.031 | +| records_array_1m / retain-stringify / 1 live | 20.188 | 20.156 | 63.000 | 34.859 | -0.031 | +| records_array_1m / retain-stringify / 16 live | 32.859 | 32.812 | 77.094 | 47.672 | -0.047 | +| records_object_1m / retain-parse / 1 live | 16.422 | 16.406 | 60.328 | 32.078 | -0.016 | +| records_object_1m / retain-parse / 16 live | 53.016 | 52.984 | 89.750 | 56.344 | -0.031 | +| records_object_1m / retain-stringify / 1 live | 20.203 | 20.156 | 63.031 | 34.875 | -0.047 | +| records_object_1m / retain-stringify / 16 live | 32.875 | 32.844 | 77.141 | 47.672 | -0.031 | +| records_array_8m / retain-parse / 1 live | 49.594 | 49.562 | 97.766 | 52.750 | -0.031 | +| records_array_8m / retain-parse / 4 live | 85.844 | 85.812 | 159.375 | 92.266 | -0.031 | +| records_array_8m / retain-stringify / 1 live | 79.922 | 79.891 | 118.406 | 73.891 | -0.031 | +| records_array_8m / retain-stringify / 4 live | 99.172 | 99.141 | 144.797 | 94.906 | -0.031 | +| records_object_8m / retain-parse / 1 live | 45.484 | 45.453 | 97.797 | 52.750 | -0.031 | +| records_object_8m / retain-parse / 4 live | 94.203 | 94.172 | 159.344 | 92.281 | -0.031 | +| records_object_8m / retain-stringify / 1 live | 79.938 | 79.906 | 118.375 | 73.906 | -0.031 | +| records_object_8m / retain-stringify / 4 live | 99.156 | 99.141 | 144.672 | 94.906 | -0.016 | +| long_string_1m / retain-parse / 1 live | 16.359 | 16.328 | 57.719 | 30.984 | -0.031 | +| long_string_1m / retain-parse / 32 live | 16.391 | 16.344 | 90.219 | 62.047 | -0.047 | +| long_string_1m / retain-stringify / 1 live | 18.766 | 18.734 | 61.703 | 33.047 | -0.031 | +| long_string_1m / retain-stringify / 32 live | 51.766 | 51.719 | 93.359 | 64.203 | -0.047 | +| unicode_1m / retain-parse / 1 live | 15.688 | 15.672 | 58.594 | 31.688 | -0.016 | +| unicode_1m / retain-parse / 32 live | 15.703 | 15.672 | 87.125 | 59.406 | -0.031 | +| unicode_1m / retain-stringify / 1 live | 17.625 | 17.594 | 61.672 | 34.500 | -0.031 | +| unicode_1m / retain-stringify / 32 live | 43.000 | 42.969 | 89.969 | 62.312 | -0.031 | +| wide_1m / retain-parse / 1 live | 21.469 | 21.438 | 66.531 | 36.734 | -0.031 | +| wide_1m / retain-parse / 16 live | 77.672 | 77.641 | 113.281 | 69.312 | -0.031 | +| wide_1m / retain-stringify / 1 live | 23.906 | 23.859 | 69.469 | 39.672 | -0.047 | +| wide_1m / retain-stringify / 16 live | 37.062 | 37.031 | 87.328 | 53.906 | -0.031 | + +| Fixture / operation | R24 after MiB | R25 after MiB | Node after MiB | Bun after MiB | After-RSS change MiB | +|---|---:|---:|---:|---:|---:| +| tiny_object / retain-parse / 1 live | 11.922 | 11.906 | 52.859 | 28.328 | -0.016 | +| tiny_object / retain-parse / 200000 live | 24.422 | 24.391 | 74.906 | 50.250 | -0.031 | +| tiny_object / retain-stringify / 1 live | 12.016 | 12.000 | 52.938 | 28.344 | -0.016 | +| tiny_object / retain-stringify / 200000 live | 24.516 | 24.500 | 71.375 | 47.109 | -0.016 | +| small_record / retain-parse / 1 live | 11.906 | 11.891 | 52.875 | 28.328 | -0.016 | +| small_record / retain-parse / 100000 live | 24.422 | 24.422 | 85.562 | 52.734 | +0.000 | +| small_record / retain-stringify / 1 live | 12.031 | 12.016 | 52.984 | 28.359 | -0.016 | +| small_record / retain-stringify / 100000 live | 27.688 | 27.672 | 80.453 | 51.125 | -0.016 | +| records_array_1m / retain-parse / 1 live | 16.594 | 16.578 | 58.547 | 31.672 | -0.016 | +| records_array_1m / retain-parse / 16 live | 40.484 | 40.469 | 88.766 | 55.984 | -0.016 | +| records_array_1m / retain-stringify / 1 live | 19.156 | 19.141 | 60.688 | 34.469 | -0.016 | +| records_array_1m / retain-stringify / 16 live | 31.828 | 31.797 | 76.453 | 47.281 | -0.031 | +| records_object_1m / retain-parse / 1 live | 15.375 | 15.375 | 58.516 | 31.688 | +0.000 | +| records_object_1m / retain-parse / 16 live | 52.500 | 52.484 | 89.016 | 55.953 | -0.016 | +| records_object_1m / retain-stringify / 1 live | 19.172 | 19.141 | 60.703 | 34.484 | -0.031 | +| records_object_1m / retain-stringify / 16 live | 31.844 | 31.828 | 76.484 | 47.281 | -0.016 | +| records_array_8m / retain-parse / 1 live | 48.562 | 48.547 | 94.438 | 52.359 | -0.016 | +| records_array_8m / retain-parse / 4 live | 85.344 | 85.328 | 147.125 | 91.875 | -0.016 | +| records_array_8m / retain-stringify / 1 live | 77.344 | 77.328 | 114.328 | 73.500 | -0.016 | +| records_array_8m / retain-stringify / 4 live | 98.656 | 98.641 | 144.109 | 94.516 | -0.016 | +| records_object_8m / retain-parse / 1 live | 33.188 | 33.172 | 94.438 | 52.359 | -0.016 | +| records_object_8m / retain-parse / 4 live | 90.953 | 90.938 | 147.031 | 91.891 | -0.016 | +| records_object_8m / retain-stringify / 1 live | 77.359 | 77.344 | 114.312 | 73.516 | -0.016 | +| records_object_8m / retain-stringify / 4 live | 98.641 | 98.641 | 144.062 | 94.516 | +0.000 | +| long_string_1m / retain-parse / 1 live | 15.312 | 15.297 | 56.656 | 30.594 | -0.016 | +| long_string_1m / retain-parse / 32 live | 15.344 | 15.312 | 89.297 | 61.656 | -0.031 | +| long_string_1m / retain-stringify / 1 live | 17.719 | 17.703 | 60.750 | 32.656 | -0.016 | +| long_string_1m / retain-stringify / 32 live | 51.234 | 51.203 | 92.422 | 63.797 | -0.031 | +| unicode_1m / retain-parse / 1 live | 14.641 | 14.641 | 57.844 | 31.312 | +0.000 | +| unicode_1m / retain-parse / 32 live | 14.656 | 14.641 | 86.469 | 59.016 | -0.016 | +| unicode_1m / retain-stringify / 1 live | 16.578 | 16.562 | 60.984 | 34.094 | -0.016 | +| unicode_1m / retain-stringify / 32 live | 41.953 | 41.938 | 89.328 | 61.906 | -0.016 | +| wide_1m / retain-parse / 1 live | 20.672 | 20.656 | 65.797 | 36.344 | -0.016 | +| wide_1m / retain-parse / 16 live | 77.156 | 77.141 | 112.656 | 68.922 | -0.016 | +| wide_1m / retain-stringify / 1 live | 22.859 | 22.828 | 68.766 | 39.281 | -0.031 | +| wide_1m / retain-stringify / 16 live | 36.016 | 36.000 | 86.656 | 53.516 | -0.016 | + +## Build fingerprints + +| Artifact | R24 SHA-256 | R25 SHA-256 | +|---|---|---| +| perry | `c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79` | `fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79` | +| libperry_runtime.a | `3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc` | `2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4` | +| libperry_stdlib.a | `143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8` | `a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c` | + +The artifact index records the exact archived measurements, validation receipts, source patches and failed attempts. Frozen binaries are identified above; benchmark source paths and build/link commands are preserved in their provenance records. diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-cases.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-cases.json new file mode 100644 index 0000000000..2e173f3a4a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-cases.json @@ -0,0 +1,18 @@ +{ + "cases": [ + { + "fixture": "small_record", + "operation": "changing-plain", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "small_record", + "operation": "changing-zero", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller.log new file mode 100644 index 0000000000..102d6a1c1f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller.log @@ -0,0 +1,2 @@ +FINISHED small_record changing-plain 2000000 +FINISHED small_record changing-zero 2000000 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/host.json new file mode 100644 index 0000000000..393c17be1f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/host.json @@ -0,0 +1,44 @@ +{ + "started_utc": "2026-09-11T08:27:45Z", + "load_before": [ + 2.0166015625, + 1.728515625, + 1.54833984375 + ], + "cases": [ + [ + "small_record", + "changing-plain", + 2000000, + 5000, + 7 + ], + [ + "small_record", + "changing-zero", + 2000000, + 5000, + 7 + ] + ], + "workers": { + "perry": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "baseline": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:28:12Z", + "load_after": [ + 1.95166015625, + 1.73388671875, + 1.5546875 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/measure-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/measure-changing-options.py new file mode 100644 index 0000000000..afaa8c5395 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/measure-changing-options.py @@ -0,0 +1,27 @@ +from pathlib import Path +import json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +prefix = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +host = 'perry@perry-macos.local' +cmd = ['python3', prefix + 'run-changing-options.py', '--worker', prefix + 'candidate-changing-options', + '--baseline-worker', prefix + 'main-changing-options', '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +cases=json.loads((w/'changing-cases.json').read_text())['cases'] +assert len(cases)==2 and all(c['repetitions']==7 for c in cases) +for c in cases: + cmd+=['--case',':'.join(str(c[k]) for k in ['fixture','operation','iterations','warmup','repetitions'])] +slug = 'quiet-' + w.name + '-changing-options' +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +(w / 'remote-changing-options-command.json').write_text(json.dumps(invocation, indent=2) + '\n') +with (w / 'remote-changing-options.log').open('wb') as log: + result = subprocess.run(['ssh', host, 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], stdout=log, stderr=subprocess.STDOUT) +print((w / 'remote-changing-options.log').read_text(), flush=True) +subprocess.run(['python3', str(w / 'archive-results.py'), slug, 'options', '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for name in ['remote-changing-options-command.json', 'remote-changing-options.log', 'remote-stage-hashes.json', 'changing-cases.json', 'measure-changing-options.py']: + shutil.copy2(w / name, d / name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +if result.returncode: + raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-after.txt new file mode 100644 index 0000000000..93369e9a65 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-after.txt @@ -0,0 +1,569 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.1 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.2 /usr/sbin/bluetoothd + 161 0.0 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.6 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.1 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.3 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.2 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.2 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 4967 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4968 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4969 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4970 0.0 sshd-session: perry [priv] + 4971 0.0 + 4973 0.0 sshd-session: perry@notty + 4974 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5111 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 10.7 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.0 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-before.txt new file mode 100644 index 0000000000..1d51d43e4d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-before.txt @@ -0,0 +1,569 @@ + PID %CPU COMM + 1 1.8 /sbin/launchd + 94 0.7 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 1.2 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.6 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.8 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 4967 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4968 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4969 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4970 7.6 sshd-session: perry [priv] + 4971 0.0 + 4973 0.0 sshd-session: perry@notty + 4974 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 4975 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 9.0 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.7 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options-command.json new file mode 100644 index 0000000000..e12254710c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options-command.json @@ -0,0 +1,21 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-changing-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-changing-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-changing-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "small_record:changing-plain:2000000:5000:7", + "--case", + "small_record:changing-zero:2000000:5000:7", + "--results-dir", + "results/quiet-zero-spacing-r25-changing-options" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options.log new file mode 100644 index 0000000000..1fefd16c03 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-4974-1789115265 load (2.0166015625, 1.728515625, 1.54833984375) +FINISHED custom load (1.95166015625, 1.73388671875, 1.5546875) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/summary.json new file mode 100644 index 0000000000..4177b9ddc9 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/summary.json @@ -0,0 +1,218 @@ +[ + { + "fixture": "small_record", + "operation": "changing-plain", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.1367895, + "cpu_samples_us": [ + 0.136771, + 0.136569, + 0.13683, + 0.136518, + 0.1373445, + 0.1367895, + 0.136909 + ], + "peak_rss_mib": 33.6875, + "peak_rss_samples_mib": [ + 33.6875, + 33.640625, + 33.65625, + 33.65625, + 33.6875, + 33.6875, + 33.6875 + ] + }, + { + "fixture": "small_record", + "operation": "changing-plain", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.136797, + "cpu_samples_us": [ + 0.1363, + 0.1357615, + 0.1370055, + 0.135669, + 0.136797, + 0.1372835, + 0.136962 + ], + "peak_rss_mib": 33.671875, + "peak_rss_samples_mib": [ + 33.625, + 33.671875, + 33.671875, + 33.640625, + 33.671875, + 33.640625, + 33.671875 + ] + }, + { + "fixture": "small_record", + "operation": "changing-plain", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.1072145, + "cpu_samples_us": [ + 0.107063, + 0.110657, + 0.1072045, + 0.1072145, + 0.1134065, + 0.1073095, + 0.107115 + ], + "peak_rss_mib": 59.859375, + "peak_rss_samples_mib": [ + 59.6875, + 59.8125, + 59.859375, + 59.859375, + 59.921875, + 59.875, + 59.796875 + ] + }, + { + "fixture": "small_record", + "operation": "changing-plain", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.12053, + "cpu_samples_us": [ + 0.12053, + 0.1207075, + 0.1202185, + 0.120283, + 0.1201485, + 0.1208125, + 0.120711 + ], + "peak_rss_mib": 378.5, + "peak_rss_samples_mib": [ + 378.5, + 378.515625, + 378.484375, + 378.5, + 378.546875, + 378.484375, + 378.484375 + ] + }, + { + "fixture": "small_record", + "operation": "changing-zero", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.1367805, + "cpu_samples_us": [ + 0.1367805, + 0.137405, + 0.136816, + 0.13675, + 0.13654, + 0.1369965, + 0.136649 + ], + "peak_rss_mib": 33.6875, + "peak_rss_samples_mib": [ + 33.6875, + 33.65625, + 33.6875, + 33.6875, + 33.6875, + 33.65625, + 33.6875 + ] + }, + { + "fixture": "small_record", + "operation": "changing-zero", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.4370635, + "cpu_samples_us": [ + 0.4370635, + 0.437065, + 0.436913, + 0.436802, + 0.4370455, + 0.4376855, + 0.437369 + ], + "peak_rss_mib": 33.96875, + "peak_rss_samples_mib": [ + 34.0, + 33.953125, + 33.96875, + 33.96875, + 33.953125, + 34.0, + 33.953125 + ] + }, + { + "fixture": "small_record", + "operation": "changing-zero", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.2477645, + "cpu_samples_us": [ + 0.247698, + 0.247545, + 0.2477645, + 0.2488645, + 0.247521, + 0.2492575, + 0.249557 + ], + "peak_rss_mib": 59.734375, + "peak_rss_samples_mib": [ + 59.84375, + 59.765625, + 59.765625, + 59.6875, + 59.609375, + 59.640625, + 59.734375 + ] + }, + { + "fixture": "small_record", + "operation": "changing-zero", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.3945725, + "cpu_samples_us": [ + 0.395577, + 0.415811, + 0.393591, + 0.3953035, + 0.3944285, + 0.3934265, + 0.3945725 + ], + "peak_rss_mib": 378.578125, + "peak_rss_samples_mib": [ + 378.546875, + 378.578125, + 378.609375, + 378.5625, + 378.59375, + 378.609375, + 378.578125 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/timing.jsonl new file mode 100644 index 0000000000..e454207638 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/timing.jsonl @@ -0,0 +1,56 @@ +{"wall_ms": 273.53887499999996, "user_us": 271105.0, "system_us": 2437.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634435621, "cycles": 899677663, "engine": "perry", "operation": "changing-plain", "rep": 0} +{"wall_ms": 236.631333, "user_us": 218189.0, "system_us": 22871.0, "rss_before": 30687232.0, "rss_after": 396476416.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396886016, "instructions": 5018857930, "cycles": 821554360, "engine": "bun", "operation": "changing-plain", "rep": 0} +{"wall_ms": 272.595333, "user_us": 270035.0, "system_us": 2565.0, "rss_before": 13680640.0, "rss_after": 34668544.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35258368, "instructions": 5636721992, "cycles": 896760313, "engine": "baseline", "operation": "changing-plain", "rep": 0} +{"wall_ms": 212.14825, "user_us": 212931.0, "system_us": 1195.0, "rss_before": 57786368.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 4727282845, "cycles": 788605853, "engine": "node", "operation": "changing-plain", "rep": 0} +{"wall_ms": 271.5185, "user_us": 269579.0, "system_us": 1944.0, "rss_before": 13697024.0, "rss_after": 34717696.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35307520, "instructions": 5634333599, "cycles": 893480588, "engine": "baseline", "operation": "changing-plain", "rep": 1} +{"wall_ms": 273.134417, "user_us": 271388.0, "system_us": 1750.0, "rss_before": 13697024.0, "rss_after": 34684928.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35274752, "instructions": 5632490384, "cycles": 898219863, "engine": "perry", "operation": "changing-plain", "rep": 1} +{"wall_ms": 237.009083, "user_us": 218404.0, "system_us": 23011.0, "rss_before": 30720000.0, "rss_after": 396492800.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396902400, "instructions": 5016528462, "cycles": 823100590, "engine": "bun", "operation": "changing-plain", "rep": 1} +{"wall_ms": 219.33937500000002, "user_us": 219898.0, "system_us": 1416.0, "rss_before": 57851904.0, "rss_after": 62062592.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62717952, "instructions": 4727352676, "cycles": 812351390, "engine": "node", "operation": "changing-plain", "rep": 1} +{"wall_ms": 273.656542, "user_us": 271764.0, "system_us": 1896.0, "rss_before": 13713408.0, "rss_after": 34701312.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35291136, "instructions": 5632547437, "cycles": 900431310, "engine": "perry", "operation": "changing-plain", "rep": 2} +{"wall_ms": 274.004875, "user_us": 271983.0, "system_us": 2028.0, "rss_before": 13680640.0, "rss_after": 34717696.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35307520, "instructions": 5634471921, "cycles": 900960709, "engine": "baseline", "operation": "changing-plain", "rep": 2} +{"wall_ms": 212.485458, "user_us": 213192.0, "system_us": 1217.0, "rss_before": 57901056.0, "rss_after": 62128128.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62767104, "instructions": 4727298779, "cycles": 789392242, "engine": "node", "operation": "changing-plain", "rep": 2} +{"wall_ms": 235.90554100000003, "user_us": 218526.0, "system_us": 21911.0, "rss_before": 30687232.0, "rss_after": 396460032.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396869632, "instructions": 5018932630, "cycles": 819375080, "engine": "bun", "operation": "changing-plain", "rep": 2} +{"wall_ms": 271.334167, "user_us": 269516.0, "system_us": 1822.0, "rss_before": 13680640.0, "rss_after": 34684928.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35274752, "instructions": 5634316321, "cycles": 892750976, "engine": "baseline", "operation": "changing-plain", "rep": 3} +{"wall_ms": 236.128041, "user_us": 218731.0, "system_us": 21835.0, "rss_before": 30687232.0, "rss_after": 396476416.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396886016, "instructions": 5020325272, "cycles": 819903306, "engine": "bun", "operation": "changing-plain", "rep": 3} +{"wall_ms": 212.489667, "user_us": 213183.0, "system_us": 1246.0, "rss_before": 57851904.0, "rss_after": 62078976.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62767104, "instructions": 4726540057, "cycles": 789651658, "engine": "node", "operation": "changing-plain", "rep": 3} +{"wall_ms": 273.03354199999995, "user_us": 271227.0, "system_us": 1809.0, "rss_before": 13713408.0, "rss_after": 34701312.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35291136, "instructions": 5633145500, "cycles": 897689535, "engine": "perry", "operation": "changing-plain", "rep": 3} +{"wall_ms": 273.59074999999996, "user_us": 271733.0, "system_us": 1861.0, "rss_before": 13680640.0, "rss_after": 34717696.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35307520, "instructions": 5634274374, "cycles": 900230988, "engine": "baseline", "operation": "changing-plain", "rep": 4} +{"wall_ms": 274.68595899999997, "user_us": 272726.0, "system_us": 1963.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5632681240, "cycles": 903489408, "engine": "perry", "operation": "changing-plain", "rep": 4} +{"wall_ms": 235.851625, "user_us": 218090.0, "system_us": 22207.0, "rss_before": 30687232.0, "rss_after": 396525568.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396935168, "instructions": 5014960903, "cycles": 819236216, "engine": "bun", "operation": "changing-plain", "rep": 4} +{"wall_ms": 224.819833, "user_us": 225556.0, "system_us": 1257.0, "rss_before": 57835520.0, "rss_after": 62193664.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62832640, "instructions": 4740062833, "cycles": 838366630, "engine": "node", "operation": "changing-plain", "rep": 4} +{"wall_ms": 273.575166, "user_us": 271636.0, "system_us": 1943.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5632646406, "cycles": 900084515, "engine": "perry", "operation": "changing-plain", "rep": 5} +{"wall_ms": 237.184708, "user_us": 218161.0, "system_us": 23464.0, "rss_before": 30687232.0, "rss_after": 396460032.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396869632, "instructions": 5021039014, "cycles": 823356011, "engine": "bun", "operation": "changing-plain", "rep": 5} +{"wall_ms": 212.60350000000003, "user_us": 213271.0, "system_us": 1348.0, "rss_before": 57819136.0, "rss_after": 62128128.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62783488, "instructions": 4729335512, "cycles": 790647432, "engine": "node", "operation": "changing-plain", "rep": 5} +{"wall_ms": 274.564041, "user_us": 272766.0, "system_us": 1801.0, "rss_before": 13697024.0, "rss_after": 34684928.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35274752, "instructions": 5634769797, "cycles": 903032071, "engine": "baseline", "operation": "changing-plain", "rep": 5} +{"wall_ms": 273.919833, "user_us": 271877.0, "system_us": 2047.0, "rss_before": 13697024.0, "rss_after": 34717696.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35307520, "instructions": 5634308492, "cycles": 901456400, "engine": "baseline", "operation": "changing-plain", "rep": 6} +{"wall_ms": 212.258459, "user_us": 213038.0, "system_us": 1192.0, "rss_before": 57753600.0, "rss_after": 62013440.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62701568, "instructions": 4729378712, "cycles": 789798627, "engine": "node", "operation": "changing-plain", "rep": 6} +{"wall_ms": 273.815166, "user_us": 271992.0, "system_us": 1826.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5632595803, "cycles": 900695104, "engine": "perry", "operation": "changing-plain", "rep": 6} +{"wall_ms": 236.951875, "user_us": 218004.0, "system_us": 23418.0, "rss_before": 30687232.0, "rss_after": 396460032.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396869632, "instructions": 5019205569, "cycles": 822812797, "engine": "bun", "operation": "changing-plain", "rep": 6} +{"wall_ms": 874.1775409999999, "user_us": 871079.0, "system_us": 3048.0, "rss_before": 13910016.0, "rss_after": 35061760.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35651584, "instructions": 16204070414, "cycles": 2827794110, "engine": "baseline", "operation": "changing-zero", "rep": 0} +{"wall_ms": 273.557083, "user_us": 271633.0, "system_us": 1928.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634634637, "cycles": 900077422, "engine": "perry", "operation": "changing-zero", "rep": 0} +{"wall_ms": 786.3356670000001, "user_us": 766365.0, "system_us": 24789.0, "rss_before": 30687232.0, "rss_after": 396525568.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396935168, "instructions": 14606498041, "cycles": 2587896983, "engine": "bun", "operation": "changing-zero", "rep": 0} +{"wall_ms": 493.88795799999997, "user_us": 493573.0, "system_us": 1823.0, "rss_before": 60260352.0, "rss_after": 62062592.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62750720, "instructions": 9984529564, "cycles": 1696753594, "engine": "node", "operation": "changing-zero", "rep": 0} +{"wall_ms": 874.127209, "user_us": 870702.0, "system_us": 3428.0, "rss_before": 13910016.0, "rss_after": 35012608.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35602432, "instructions": 16203931503, "cycles": 2828759815, "engine": "baseline", "operation": "changing-zero", "rep": 1} +{"wall_ms": 493.608833, "user_us": 493316.0, "system_us": 1774.0, "rss_before": 60227584.0, "rss_after": 61980672.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62668800, "instructions": 9987263460, "cycles": 1697144134, "engine": "node", "operation": "changing-zero", "rep": 1} +{"wall_ms": 274.807166, "user_us": 272763.0, "system_us": 2047.0, "rss_before": 13697024.0, "rss_after": 34701312.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35291136, "instructions": 5634443029, "cycles": 904012814, "engine": "perry", "operation": "changing-zero", "rep": 1} +{"wall_ms": 826.864209, "user_us": 806499.0, "system_us": 25123.0, "rss_before": 30720000.0, "rss_after": 396558336.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396967936, "instructions": 14610294328, "cycles": 2717990025, "engine": "bun", "operation": "changing-zero", "rep": 1} +{"wall_ms": 782.35875, "user_us": 763263.0, "system_us": 23919.0, "rss_before": 30720000.0, "rss_after": 396591104.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397000704, "instructions": 14603292444, "cycles": 2575027838, "engine": "bun", "operation": "changing-zero", "rep": 2} +{"wall_ms": 873.832041, "user_us": 870917.0, "system_us": 2909.0, "rss_before": 13910016.0, "rss_after": 35028992.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35618816, "instructions": 16203696212, "cycles": 2826975700, "engine": "baseline", "operation": "changing-zero", "rep": 2} +{"wall_ms": 273.628125, "user_us": 271649.0, "system_us": 1983.0, "rss_before": 13713408.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634297519, "cycles": 900215584, "engine": "perry", "operation": "changing-zero", "rep": 2} +{"wall_ms": 494.04366699999997, "user_us": 493637.0, "system_us": 1892.0, "rss_before": 60309504.0, "rss_after": 61997056.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62668800, "instructions": 9984540225, "cycles": 1696436104, "engine": "node", "operation": "changing-zero", "rep": 2} +{"wall_ms": 496.289041, "user_us": 495723.0, "system_us": 2006.0, "rss_before": 60162048.0, "rss_after": 61882368.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 9982460334, "cycles": 1702523688, "engine": "node", "operation": "changing-zero", "rep": 3} +{"wall_ms": 273.496666, "user_us": 271529.0, "system_us": 1971.0, "rss_before": 13713408.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634472551, "cycles": 900723835, "engine": "perry", "operation": "changing-zero", "rep": 3} +{"wall_ms": 785.8017080000001, "user_us": 766045.0, "system_us": 24562.0, "rss_before": 30687232.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 14597388352, "cycles": 2586491605, "engine": "bun", "operation": "changing-zero", "rep": 3} +{"wall_ms": 873.5995419999999, "user_us": 870334.0, "system_us": 3270.0, "rss_before": 13926400.0, "rss_after": 35028992.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35618816, "instructions": 16203825053, "cycles": 2826651123, "engine": "baseline", "operation": "changing-zero", "rep": 3} +{"wall_ms": 273.076208, "user_us": 271241.0, "system_us": 1839.0, "rss_before": 13713408.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634702858, "cycles": 898486683, "engine": "perry", "operation": "changing-zero", "rep": 4} +{"wall_ms": 783.910709, "user_us": 764321.0, "system_us": 24536.0, "rss_before": 30703616.0, "rss_after": 396574720.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396984320, "instructions": 14601233417, "cycles": 2580862542, "engine": "bun", "operation": "changing-zero", "rep": 4} +{"wall_ms": 493.518333, "user_us": 493254.0, "system_us": 1788.0, "rss_before": 60178432.0, "rss_after": 61865984.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 9981154365, "cycles": 1692779337, "engine": "node", "operation": "changing-zero", "rep": 4} +{"wall_ms": 874.086125, "user_us": 870907.0, "system_us": 3184.0, "rss_before": 13910016.0, "rss_after": 35012608.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35602432, "instructions": 16203855908, "cycles": 2828381462, "engine": "baseline", "operation": "changing-zero", "rep": 4} +{"wall_ms": 497.03274999999996, "user_us": 496252.0, "system_us": 2263.0, "rss_before": 60211200.0, "rss_after": 61882368.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 9986311564, "cycles": 1709071559, "engine": "node", "operation": "changing-zero", "rep": 5} +{"wall_ms": 781.985292, "user_us": 762757.0, "system_us": 24096.0, "rss_before": 30736384.0, "rss_after": 396591104.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397000704, "instructions": 14599114474, "cycles": 2574186344, "engine": "bun", "operation": "changing-zero", "rep": 5} +{"wall_ms": 875.3581250000001, "user_us": 872141.0, "system_us": 3230.0, "rss_before": 13926400.0, "rss_after": 35061760.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35651584, "instructions": 16203933120, "cycles": 2832462795, "engine": "baseline", "operation": "changing-zero", "rep": 5} +{"wall_ms": 273.988625, "user_us": 271818.0, "system_us": 2175.0, "rss_before": 13713408.0, "rss_after": 34701312.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35291136, "instructions": 5635220538, "cycles": 900939051, "engine": "perry", "operation": "changing-zero", "rep": 5} +{"wall_ms": 874.7386670000001, "user_us": 871375.0, "system_us": 3363.0, "rss_before": 13910016.0, "rss_after": 35012608.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35602432, "instructions": 16203816925, "cycles": 2831137457, "engine": "baseline", "operation": "changing-zero", "rep": 6} +{"wall_ms": 497.60825, "user_us": 497243.0, "system_us": 1871.0, "rss_before": 60309504.0, "rss_after": 61997056.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62636032, "instructions": 9980721782, "cycles": 1704416402, "engine": "node", "operation": "changing-zero", "rep": 6} +{"wall_ms": 784.2849160000001, "user_us": 764671.0, "system_us": 24474.0, "rss_before": 30720000.0, "rss_after": 396558336.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396967936, "instructions": 14610334027, "cycles": 2581158687, "engine": "bun", "operation": "changing-zero", "rep": 6} +{"wall_ms": 273.29400000000004, "user_us": 271402.0, "system_us": 1896.0, "rss_before": 13697024.0, "rss_after": 34734080.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35323904, "instructions": 5634695145, "cycles": 898961448, "engine": "perry", "operation": "changing-zero", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/verify.jsonl new file mode 100644 index 0000000000..ce46758844 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/verify.jsonl @@ -0,0 +1,10 @@ +{"wall_ms": 0.003750000000000142, "user_us": 320.0, "system_us": 31.0, "rss_before": 54984704.0, "rss_after": 55492608.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 291137448, "cycles": 99044437, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "changing-plain", "case_iterations": 2000000} +{"wall_ms": 0.0038329999999966446, "user_us": 10.0, "system_us": 21.0, "rss_before": 13025280.0, "rss_after": 13041664.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 14139392, "instructions": 76118093, "cycles": 44572994, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "changing-plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.003959000000001822, "user_us": 9.0, "system_us": 30.0, "rss_before": 12992512.0, "rss_after": 13008896.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 14106624, "instructions": 76077869, "cycles": 41123841, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "changing-plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004125000000001933, "user_us": 376.0, "system_us": 54.0, "rss_before": 54919168.0, "rss_after": 55427072.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 288734752, "cycles": 97229887, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "changing-plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.002083000000000723, "user_us": 5.0, "system_us": 2.0, "rss_before": 29556736.0, "rss_after": 29589504.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 29999104, "instructions": 136425070, "cycles": 47814300, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "changing-plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.005333000000000254, "user_us": 326.0, "system_us": 45.0, "rss_before": 55033856.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56393728, "instructions": 291038943, "cycles": 99889010, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "changing-zero", "case_iterations": 2000000} +{"wall_ms": 0.0011660000000000004, "user_us": 3.0, "system_us": 1.0, "rss_before": 13025280.0, "rss_after": 13041664.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 14139392, "instructions": 62774704, "cycles": 19366222, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "changing-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0036669999999996428, "user_us": 5.0, "system_us": 1.0, "rss_before": 13058048.0, "rss_after": 13074432.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 14172160, "instructions": 63073753, "cycles": 19605402, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "changing-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0052920000000007406, "user_us": 327.0, "system_us": 33.0, "rss_before": 54837248.0, "rss_after": 55312384.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56147968, "instructions": 292062750, "cycles": 99902173, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "changing-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004417000000000115, "user_us": 6.0, "system_us": 2.0, "rss_before": 29573120.0, "rss_after": 29605888.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30015488, "instructions": 136340966, "cycles": 48467733, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "changing-zero", "case_iterations": 2000000, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/window.json new file mode 100644 index 0000000000..17b67c37fc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/window.json @@ -0,0 +1,36 @@ +{ + "owner": "json-perf-4974-1789115265", + "load_before": [ + 2.0166015625, + 1.728515625, + 1.54833984375 + ], + "started_utc": "2026-09-11T08:27:45Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-changing-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-changing-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-changing-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "small_record:changing-plain:2000000:5000:7", + "--case", + "small_record:changing-zero:2000000:5000:7", + "--results-dir", + "results/quiet-zero-spacing-r25-changing-options" + ], + "competing_workloads_before": [], + "load_after": [ + 1.95166015625, + 1.73388671875, + 1.5546875 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:28:12Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller.log new file mode 100644 index 0000000000..cb518b28d8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller.log @@ -0,0 +1,50 @@ +FINISHED null parse 2000000 +FINISHED null stringify 2000000 +FINISHED string_a parse 2000000 +FINISHED string_a stringify 2000000 +FINISHED empty_object parse 2000000 +FINISHED empty_object stringify 2000000 +FINISHED tiny_object parse 2000000 +FINISHED tiny_object stringify 2000000 +FINISHED small_record parse 1581369 +FINISHED small_record stringify 2000000 +FINISHED object_1k parse 1961848 +FINISHED object_1k stringify 1036867 +FINISHED records_array_16k parse 11284 +FINISHED records_array_16k stringify 12949 +FINISHED records_array_16k sparse 7868 +FINISHED records_array_16k scan 3761 +FINISHED records_array_16k roundtrip 7659 +FINISHED records_array_1m parse 170 +FINISHED records_array_1m stringify 229 +FINISHED records_array_1m sparse 161 +FINISHED records_array_1m scan 69 +FINISHED records_array_1m roundtrip 115 +FINISHED records_object_1m parse 81 +FINISHED records_object_1m stringify 229 +FINISHED records_array_8m parse 16 +FINISHED records_array_8m stringify 29 +FINISHED records_array_8m sparse 15 +FINISHED records_array_8m scan 8 +FINISHED records_array_8m roundtrip 11 +FINISHED records_object_8m parse 10 +FINISHED records_object_8m stringify 29 +FINISHED records_array_20m parse 4 +FINISHED records_array_20m stringify 12 +FINISHED records_array_20m sparse 4 +FINISHED records_array_20m scan 4 +FINISHED records_array_20m roundtrip 2 +FINISHED records_object_20m parse 4 +FINISHED records_object_20m stringify 12 +FINISHED numbers_1m parse 102 +FINISHED numbers_1m stringify 147 +FINISHED long_string_1m parse 2806 +FINISHED long_string_1m stringify 1922 +FINISHED escaped_1m parse 158 +FINISHED escaped_1m stringify 166 +FINISHED unicode_1m parse 2786 +FINISHED unicode_1m stringify 2475 +FINISHED wide_1m parse 64 +FINISHED wide_1m stringify 232 +FINISHED heterogeneous_1m parse 142 +FINISHED heterogeneous_1m stringify 218 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/full-cases.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/full-cases.json new file mode 100644 index 0000000000..ce6e1cd1d4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/full-cases.json @@ -0,0 +1,358 @@ +{ + "scope": "R23 original 38 parse/stringify plus 12 consumption cases; original iteration counts and warmups reused unchanged, seven interleaved fresh-process repetitions per engine; prepared before R23 performance timing", + "iteration_reference_commit": "4fc51192eddce6efeb11fb70c5c10ba3c25978cc", + "iteration_reference_path": "benchmarks/json_performance/results/quiet-main-53df-all-r5/timing.jsonl", + "iteration_reference_sha256": "31027b5e01b853a5cc3aba43376a3638906ae8dc4ebe7e5cae26f172af745c6b", + "cases": [ + { + "fixture": "null", + "operation": "parse", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "null", + "operation": "stringify", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "string_a", + "operation": "parse", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "string_a", + "operation": "stringify", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "empty_object", + "operation": "parse", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "empty_object", + "operation": "stringify", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "tiny_object", + "operation": "parse", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "tiny_object", + "operation": "stringify", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "small_record", + "operation": "parse", + "iterations": 1581369, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "small_record", + "operation": "stringify", + "iterations": 2000000, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "object_1k", + "operation": "parse", + "iterations": 1961848, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "object_1k", + "operation": "stringify", + "iterations": 1036867, + "warmup": 5000, + "repetitions": 7 + }, + { + "fixture": "records_array_16k", + "operation": "parse", + "iterations": 11284, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_16k", + "operation": "stringify", + "iterations": 12949, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_16k", + "operation": "sparse", + "iterations": 7868, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_16k", + "operation": "scan", + "iterations": 3761, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_16k", + "operation": "roundtrip", + "iterations": 7659, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_1m", + "operation": "parse", + "iterations": 170, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_1m", + "operation": "stringify", + "iterations": 229, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_1m", + "operation": "sparse", + "iterations": 161, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_1m", + "operation": "scan", + "iterations": 69, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_1m", + "operation": "roundtrip", + "iterations": 115, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_1m", + "operation": "parse", + "iterations": 81, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_1m", + "operation": "stringify", + "iterations": 229, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_8m", + "operation": "parse", + "iterations": 16, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_8m", + "operation": "stringify", + "iterations": 29, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_8m", + "operation": "sparse", + "iterations": 15, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_8m", + "operation": "scan", + "iterations": 8, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_8m", + "operation": "roundtrip", + "iterations": 11, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_8m", + "operation": "parse", + "iterations": 10, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_8m", + "operation": "stringify", + "iterations": 29, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_20m", + "operation": "parse", + "iterations": 4, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_20m", + "operation": "stringify", + "iterations": 12, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_20m", + "operation": "sparse", + "iterations": 4, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_20m", + "operation": "scan", + "iterations": 4, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_array_20m", + "operation": "roundtrip", + "iterations": 2, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_20m", + "operation": "parse", + "iterations": 4, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "records_object_20m", + "operation": "stringify", + "iterations": 12, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "numbers_1m", + "operation": "parse", + "iterations": 102, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "numbers_1m", + "operation": "stringify", + "iterations": 147, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "long_string_1m", + "operation": "parse", + "iterations": 2806, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "long_string_1m", + "operation": "stringify", + "iterations": 1922, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "escaped_1m", + "operation": "parse", + "iterations": 158, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "escaped_1m", + "operation": "stringify", + "iterations": 166, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "unicode_1m", + "operation": "parse", + "iterations": 2786, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "unicode_1m", + "operation": "stringify", + "iterations": 2475, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "wide_1m", + "operation": "parse", + "iterations": 64, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "wide_1m", + "operation": "stringify", + "iterations": 232, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "heterogeneous_1m", + "operation": "parse", + "iterations": 142, + "warmup": 2, + "repetitions": 7 + }, + { + "fixture": "heterogeneous_1m", + "operation": "stringify", + "iterations": 218, + "warmup": 2, + "repetitions": 7 + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/host.json new file mode 100644 index 0000000000..b59432623c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/host.json @@ -0,0 +1,380 @@ +{ + "started_utc": "2026-09-11T08:38:57Z", + "load_before": [ + 1.86767578125, + 1.68994140625, + 1.6142578125 + ], + "cases": [ + [ + "null", + "parse", + 2000000, + 5000, + 7 + ], + [ + "null", + "stringify", + 2000000, + 5000, + 7 + ], + [ + "string_a", + "parse", + 2000000, + 5000, + 7 + ], + [ + "string_a", + "stringify", + 2000000, + 5000, + 7 + ], + [ + "empty_object", + "parse", + 2000000, + 5000, + 7 + ], + [ + "empty_object", + "stringify", + 2000000, + 5000, + 7 + ], + [ + "tiny_object", + "parse", + 2000000, + 5000, + 7 + ], + [ + "tiny_object", + "stringify", + 2000000, + 5000, + 7 + ], + [ + "small_record", + "parse", + 1581369, + 5000, + 7 + ], + [ + "small_record", + "stringify", + 2000000, + 5000, + 7 + ], + [ + "object_1k", + "parse", + 1961848, + 5000, + 7 + ], + [ + "object_1k", + "stringify", + 1036867, + 5000, + 7 + ], + [ + "records_array_16k", + "parse", + 11284, + 2, + 7 + ], + [ + "records_array_16k", + "stringify", + 12949, + 2, + 7 + ], + [ + "records_array_16k", + "sparse", + 7868, + 2, + 7 + ], + [ + "records_array_16k", + "scan", + 3761, + 2, + 7 + ], + [ + "records_array_16k", + "roundtrip", + 7659, + 2, + 7 + ], + [ + "records_array_1m", + "parse", + 170, + 2, + 7 + ], + [ + "records_array_1m", + "stringify", + 229, + 2, + 7 + ], + [ + "records_array_1m", + "sparse", + 161, + 2, + 7 + ], + [ + "records_array_1m", + "scan", + 69, + 2, + 7 + ], + [ + "records_array_1m", + "roundtrip", + 115, + 2, + 7 + ], + [ + "records_object_1m", + "parse", + 81, + 2, + 7 + ], + [ + "records_object_1m", + "stringify", + 229, + 2, + 7 + ], + [ + "records_array_8m", + "parse", + 16, + 2, + 7 + ], + [ + "records_array_8m", + "stringify", + 29, + 2, + 7 + ], + [ + "records_array_8m", + "sparse", + 15, + 2, + 7 + ], + [ + "records_array_8m", + "scan", + 8, + 2, + 7 + ], + [ + "records_array_8m", + "roundtrip", + 11, + 2, + 7 + ], + [ + "records_object_8m", + "parse", + 10, + 2, + 7 + ], + [ + "records_object_8m", + "stringify", + 29, + 2, + 7 + ], + [ + "records_array_20m", + "parse", + 4, + 2, + 7 + ], + [ + "records_array_20m", + "stringify", + 12, + 2, + 7 + ], + [ + "records_array_20m", + "sparse", + 4, + 2, + 7 + ], + [ + "records_array_20m", + "scan", + 4, + 2, + 7 + ], + [ + "records_array_20m", + "roundtrip", + 2, + 2, + 7 + ], + [ + "records_object_20m", + "parse", + 4, + 2, + 7 + ], + [ + "records_object_20m", + "stringify", + 12, + 2, + 7 + ], + [ + "numbers_1m", + "parse", + 102, + 2, + 7 + ], + [ + "numbers_1m", + "stringify", + 147, + 2, + 7 + ], + [ + "long_string_1m", + "parse", + 2806, + 2, + 7 + ], + [ + "long_string_1m", + "stringify", + 1922, + 2, + 7 + ], + [ + "escaped_1m", + "parse", + 158, + 2, + 7 + ], + [ + "escaped_1m", + "stringify", + 166, + 2, + 7 + ], + [ + "unicode_1m", + "parse", + 2786, + 2, + 7 + ], + [ + "unicode_1m", + "stringify", + 2475, + 2, + 7 + ], + [ + "wide_1m", + "parse", + 64, + 2, + 7 + ], + [ + "wide_1m", + "stringify", + 232, + 2, + 7 + ], + [ + "heterogeneous_1m", + "parse", + 142, + 2, + 7 + ], + [ + "heterogeneous_1m", + "stringify", + 218, + 2, + 7 + ] + ], + "workers": { + "perry": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "baseline": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:45:48Z", + "load_after": [ + 1.64208984375, + 1.91162109375, + 1.7822265625 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-after.txt new file mode 100644 index 0000000000..57b8eb8bd8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-after.txt @@ -0,0 +1,573 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.0 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.1 /usr/sbin/bluetoothd + 161 0.0 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.0 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.2 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 1.2 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6131 0.0 sshd-session: perry [priv] + 6132 0.0 + 6134 0.0 sshd-session: perry@notty + 6135 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess + 9394 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9395 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9396 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9397 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9398 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9399 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9478 0.0 ps +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 8.5 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.8 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-before.txt new file mode 100644 index 0000000000..55a83274d0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-before.txt @@ -0,0 +1,570 @@ + PID %CPU COMM + 1 1.2 /sbin/launchd + 94 0.6 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.1 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.1 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.1 /usr/sbin/bluetoothd + 161 0.9 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.1 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.1 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.9 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6128 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 6129 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 6130 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 6131 16.4 sshd-session: perry [priv] + 6132 0.0 + 6134 0.3 sshd-session: perry@notty + 6135 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 6136 0.0 ps + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 12.3 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.3 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full-command.json new file mode 100644 index 0000000000..5e5305794e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full-command.json @@ -0,0 +1,117 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-focus.py", + "--worker", + ".work/zero-spacing-r25/candidate-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "null:parse:2000000:5000:7", + "--case", + "null:stringify:2000000:5000:7", + "--case", + "string_a:parse:2000000:5000:7", + "--case", + "string_a:stringify:2000000:5000:7", + "--case", + "empty_object:parse:2000000:5000:7", + "--case", + "empty_object:stringify:2000000:5000:7", + "--case", + "tiny_object:parse:2000000:5000:7", + "--case", + "tiny_object:stringify:2000000:5000:7", + "--case", + "small_record:parse:1581369:5000:7", + "--case", + "small_record:stringify:2000000:5000:7", + "--case", + "object_1k:parse:1961848:5000:7", + "--case", + "object_1k:stringify:1036867:5000:7", + "--case", + "records_array_16k:parse:11284:2:7", + "--case", + "records_array_16k:stringify:12949:2:7", + "--case", + "records_array_16k:sparse:7868:2:7", + "--case", + "records_array_16k:scan:3761:2:7", + "--case", + "records_array_16k:roundtrip:7659:2:7", + "--case", + "records_array_1m:parse:170:2:7", + "--case", + "records_array_1m:stringify:229:2:7", + "--case", + "records_array_1m:sparse:161:2:7", + "--case", + "records_array_1m:scan:69:2:7", + "--case", + "records_array_1m:roundtrip:115:2:7", + "--case", + "records_object_1m:parse:81:2:7", + "--case", + "records_object_1m:stringify:229:2:7", + "--case", + "records_array_8m:parse:16:2:7", + "--case", + "records_array_8m:stringify:29:2:7", + "--case", + "records_array_8m:sparse:15:2:7", + "--case", + "records_array_8m:scan:8:2:7", + "--case", + "records_array_8m:roundtrip:11:2:7", + "--case", + "records_object_8m:parse:10:2:7", + "--case", + "records_object_8m:stringify:29:2:7", + "--case", + "records_array_20m:parse:4:2:7", + "--case", + "records_array_20m:stringify:12:2:7", + "--case", + "records_array_20m:sparse:4:2:7", + "--case", + "records_array_20m:scan:4:2:7", + "--case", + "records_array_20m:roundtrip:2:2:7", + "--case", + "records_object_20m:parse:4:2:7", + "--case", + "records_object_20m:stringify:12:2:7", + "--case", + "numbers_1m:parse:102:2:7", + "--case", + "numbers_1m:stringify:147:2:7", + "--case", + "long_string_1m:parse:2806:2:7", + "--case", + "long_string_1m:stringify:1922:2:7", + "--case", + "escaped_1m:parse:158:2:7", + "--case", + "escaped_1m:stringify:166:2:7", + "--case", + "unicode_1m:parse:2786:2:7", + "--case", + "unicode_1m:stringify:2475:2:7", + "--case", + "wide_1m:parse:64:2:7", + "--case", + "wide_1m:stringify:232:2:7", + "--case", + "heterogeneous_1m:parse:142:2:7", + "--case", + "heterogeneous_1m:stringify:218:2:7", + "--results-dir", + "results/quiet-zero-spacing-r25-full" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full.log new file mode 100644 index 0000000000..b8122e46a6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-6135-1789115937 load (1.86767578125, 1.68994140625, 1.6142578125) +FINISHED custom load (1.64208984375, 1.91162109375, 1.7822265625) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 zcmV+z3Fr17iwFP!00002|Fu|cbKJHO{(ip#aYsY4U+{`bs_3+ zXK&uTxn`R3n&orR>ZaA?`sRjYqH3t*O4Kn~^GBA$PFrgglC@;2AdM6mQ;I1<>zwdf zGg&fv4|J^F05cWMu300bR^*`&C7ZhghWSImOGbcCTf%$EDiBXfe$Rd+y5NeyzglSc zBTA})Wx;4e6#tDysP2qc$e2*M0TmVN)&*5X$yeR-6X@PO3pHCyQIUpfBq475S6Fr= z67C_YZl#J=^Ri!Qs=3lUQ~gf6au@1$G_QJ1)K<;le}v*9UMnWGe-;88>7z(LP1j(6 zGz}uKfhg~p9{{anVBf{XG6<})vaQpcD`1ip=~`s1>hy*;A-VqLm)qI<%j=IN%)R*B?Uth6q@X#6Kj)Pf ze|r&nZOt>0Gq--8{q^$Z3Uyfc02SRz7821g2}Tp3r~yt$zyR-p8R>r3LXw`k;F|(K zM68Mt*Q`?h4sp*B2^XF;pq*RI__r=HJt@WkGEC z1E4Omj5UC#ny|;F{4C;%s*H0# zFyU=C%DSy!1C30Qgm|eJSd*i<9hZ^M+|R^wCaP-yp!1&bi5HT6Z$2MlWS#qGa*hjo zLs*^RYHST42;#|kNx5R=A86StDTVA`g4|ZtU+5%rnmroO3_J&kR$7;yqD#4HD+s~c zZDT2Y4{!#d2bpajXN^!G<(|!r{J0i%%{J8RINbFVBbCq$sz4`n>$U7#%a~dv{VD3Q+{kP?k<;ksV z+0oN0h?WwH#Q(^qkzB|FJdPf!A#njQScpRPNj$SYu5DYxfr6Dy;?YtGlj?1u`b&#B zgJrFzE2wA~D^9{uj;`{}bNj(q~Gf`q4xO)g~QOpbc-p8u+FY3X(8OIoXy!?ztonxd>Mg9x+xlD|^Qw zuH0#6W5}xPY;H+GWQ{3i#jt-_VNc`a8(l2^ofOd2l&y*UU5Nlw8>b08YJWu2CFsx# zhMY(5DK8BYk`eQ<{DqNivL-%2E*#E)61cfITjG8vdO1$mPaVOSgW>&5zDfEs)8scb z+u!TET0HbA4;l1m8hjNwh(ZG*qv{TR`>sJT&z_ex}2Kd?vSE zOcvPm7>+hhhsGpWhPyf5>k`A{V7Hm>b9kP3&*TF~HJHF@weZYqXcLkV@9~i_;|X6# z0Hb;imbWa!ap+^m;d?H*m{a%+_1E`o{^&Rb%bn6>g&K&NrZa->I4k^t_q3*hQvDIg zK$!63y;?bO`PzH33O|n(Hl-g*OdgY`Vf)#eO6!bg|Ms>s&1R>@sM!o`liPKrr(I!( z+2S`Qh0E2^CrAs{#1*^-ra8~F4_&qd@TRTK5=^lXuv+7T@16W>ep1a(^4pX5@yXxf zlbe5IszRDgWhg-Mo)Jnx^K`|)VJs0U+Axhf^nT-mnkHxx^LziKRZ}HTEbgX?NEP(r z?f3TPS(QT&;=NJARx`+BK~%8EoNt)Y{(cuU>0|*pzyTrC%}TD}eco3^iB`gxkvySY zn;_m%r+HZiBdRgLoX!RzP7bHu{&*2JTQ79JJ3Z_=mQ5@!ui~hdrR;&d(^flA}V;}2f@oBilACx*rh!OjIN_XS2$9APNtE7 zy_JGV*KZ0_AfLFQPA(S>^yuh+Z@iJpRXd@gBa>(h)#gwJ2H()P25J%VM zkAMF5!cA|gh4w;nTh440PiDE-%{g7&8s+J(Cr)s_onYbBIVBv_co&i%LSl!PK+^iG)H8*n{7tmTtiQfz`o^Vja&ATN|gWYX$iTAv-Q@XWAYO@s%dM5M$Lc`Dp zJ=$_AYR8ZW`P~wT)oZHJei5`|*frb)D#Vp5g&%5ng4poK>gS5%lQS?p^`;ruLy$MZ zJpQybG{B>~54T$aPS4*?JP+tcn?P7?*kmH#iF%ovNv(wb%K1+1c%t4w`fu0klKF;u z`g%YaiZcWUY|}$)r^1h5wiCSvfD;_z`z5#oGbHeTpAS{|(agDcFe(7e*!+*ge(Zp> zC0H> zTGN9%@F)A#Yz*7oOc}o1@9lKbeK?HVmyDiY!zpW8a9}cgl#VKva|-yduE*{cNZiVh z+Q-*0@7$VJe04yCK>!Ho$vP=WZeG4dNbmO-r1bAW(m*>F)$hJmoCU}cd6vKlbkw^N z9nFvdV0^@{CqIAq_~GXL)lXh{tPNV1ttv)eb`ExK7M9!N&0CM%mpVA??z%j@<~3Kv y*UwdUjxxsH9i#p)9q4QZi7`!UTEVblKQyQKEi+9$n_KON&Drn3d9~Qk8UO%zeukF- literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/summary.json new file mode 100644 index 0000000000..bb056941a6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/summary.json @@ -0,0 +1,5402 @@ +[ + { + "fixture": "null", + "operation": "parse", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0106315, + "cpu_samples_us": [ + 0.0106285, + 0.0106295, + 0.0106315, + 0.010642, + 0.0106365, + 0.0106255, + 0.0106775 + ], + "peak_rss_mib": 12.796875, + "peak_rss_samples_mib": [ + 12.796875, + 12.8125, + 12.796875, + 12.8125, + 12.796875, + 12.796875, + 12.796875 + ] + }, + { + "fixture": "null", + "operation": "parse", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0106215, + "cpu_samples_us": [ + 0.010618, + 0.0106215, + 0.010632, + 0.010619, + 0.010629, + 0.0106175, + 0.010626 + ], + "peak_rss_mib": 12.828125, + "peak_rss_samples_mib": [ + 12.828125, + 12.828125, + 12.84375, + 12.84375, + 12.828125, + 12.828125, + 12.828125 + ] + }, + { + "fixture": "null", + "operation": "parse", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.0273455, + "cpu_samples_us": [ + 0.0273875, + 0.0273615, + 0.027339, + 0.0273455, + 0.027345, + 0.0273995, + 0.0273315 + ], + "peak_rss_mib": 57.640625, + "peak_rss_samples_mib": [ + 57.6875, + 57.578125, + 57.65625, + 57.640625, + 57.6875, + 57.59375, + 57.46875 + ] + }, + { + "fixture": "null", + "operation": "parse", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.019169, + "cpu_samples_us": [ + 0.0191205, + 0.0192045, + 0.019304, + 0.019333, + 0.0189275, + 0.019169, + 0.01907 + ], + "peak_rss_mib": 35.75, + "peak_rss_samples_mib": [ + 35.75, + 35.75, + 35.765625, + 35.734375, + 35.734375, + 35.71875, + 35.78125 + ] + }, + { + "fixture": "null", + "operation": "stringify", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0065665, + "cpu_samples_us": [ + 0.0065675, + 0.0065675, + 0.0065705, + 0.006565, + 0.0065655, + 0.006564, + 0.0065665 + ], + "peak_rss_mib": 13.0, + "peak_rss_samples_mib": [ + 13.0, + 13.0, + 13.015625, + 13.0, + 13.015625, + 13.0, + 13.0 + ] + }, + { + "fixture": "null", + "operation": "stringify", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.00656, + "cpu_samples_us": [ + 0.0065595, + 0.006568, + 0.00656, + 0.0065665, + 0.006577, + 0.006559, + 0.0065595 + ], + "peak_rss_mib": 13.03125, + "peak_rss_samples_mib": [ + 13.03125, + 13.03125, + 13.046875, + 13.046875, + 13.046875, + 13.03125, + 13.03125 + ] + }, + { + "fixture": "null", + "operation": "stringify", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.0272025, + "cpu_samples_us": [ + 0.027196, + 0.0272025, + 0.027213, + 0.027179, + 0.0272245, + 0.027215, + 0.0271745 + ], + "peak_rss_mib": 59.609375, + "peak_rss_samples_mib": [ + 59.703125, + 59.5625, + 59.609375, + 59.6875, + 59.59375, + 59.671875, + 59.578125 + ] + }, + { + "fixture": "null", + "operation": "stringify", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.031263, + "cpu_samples_us": [ + 0.031266, + 0.031184, + 0.031096, + 0.031263, + 0.0311985, + 0.031307, + 0.031271 + ], + "peak_rss_mib": 129.8125, + "peak_rss_samples_mib": [ + 129.8125, + 129.78125, + 129.8125, + 129.796875, + 129.890625, + 129.828125, + 129.75 + ] + }, + { + "fixture": "string_a", + "operation": "parse", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.012821, + "cpu_samples_us": [ + 0.0128305, + 0.0128185, + 0.012823, + 0.0128145, + 0.012821, + 0.0128295, + 0.0128195 + ], + "peak_rss_mib": 12.796875, + "peak_rss_samples_mib": [ + 12.796875, + 12.796875, + 12.796875, + 12.796875, + 12.796875, + 12.796875, + 12.8125 + ] + }, + { + "fixture": "string_a", + "operation": "parse", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0128275, + "cpu_samples_us": [ + 0.0128245, + 0.0128305, + 0.0128165, + 0.0128275, + 0.0128205, + 0.012832, + 0.0128315 + ], + "peak_rss_mib": 12.828125, + "peak_rss_samples_mib": [ + 12.828125, + 12.828125, + 12.84375, + 12.84375, + 12.828125, + 12.828125, + 12.828125 + ] + }, + { + "fixture": "string_a", + "operation": "parse", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.0317325, + "cpu_samples_us": [ + 0.0317755, + 0.031705, + 0.031765, + 0.0317325, + 0.031756, + 0.031706, + 0.031727 + ], + "peak_rss_mib": 57.734375, + "peak_rss_samples_mib": [ + 57.765625, + 57.75, + 57.734375, + 57.734375, + 57.65625, + 57.640625, + 57.6875 + ] + }, + { + "fixture": "string_a", + "operation": "parse", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.0226095, + "cpu_samples_us": [ + 0.0226255, + 0.0226235, + 0.0225935, + 0.0226095, + 0.02256, + 0.0226015, + 0.022638 + ], + "peak_rss_mib": 36.109375, + "peak_rss_samples_mib": [ + 36.125, + 36.09375, + 36.125, + 36.125, + 36.109375, + 36.109375, + 36.109375 + ] + }, + { + "fixture": "string_a", + "operation": "stringify", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0096925, + "cpu_samples_us": [ + 0.009697, + 0.0096925, + 0.0096895, + 0.0096925, + 0.009695, + 0.009688, + 0.0096835 + ], + "peak_rss_mib": 13.0, + "peak_rss_samples_mib": [ + 13.0, + 13.0, + 13.015625, + 13.0, + 13.015625, + 13.0, + 13.015625 + ] + }, + { + "fixture": "string_a", + "operation": "stringify", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0096915, + "cpu_samples_us": [ + 0.0096975, + 0.0096895, + 0.0096985, + 0.009689, + 0.0096915, + 0.0096825, + 0.0096915 + ], + "peak_rss_mib": 13.03125, + "peak_rss_samples_mib": [ + 13.03125, + 13.03125, + 13.03125, + 13.03125, + 13.03125, + 13.046875, + 13.03125 + ] + }, + { + "fixture": "string_a", + "operation": "stringify", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.030076, + "cpu_samples_us": [ + 0.0300245, + 0.0301195, + 0.03008, + 0.030123, + 0.030021, + 0.030076, + 0.0300645 + ], + "peak_rss_mib": 59.671875, + "peak_rss_samples_mib": [ + 59.71875, + 59.65625, + 59.640625, + 59.640625, + 59.671875, + 59.6875, + 59.671875 + ] + }, + { + "fixture": "string_a", + "operation": "stringify", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.0320515, + "cpu_samples_us": [ + 0.032075, + 0.0320025, + 0.032031, + 0.0320205, + 0.0320515, + 0.032072, + 0.032105 + ], + "peak_rss_mib": 129.8125, + "peak_rss_samples_mib": [ + 129.84375, + 129.796875, + 129.765625, + 129.828125, + 129.84375, + 129.8125, + 129.796875 + ] + }, + { + "fixture": "empty_object", + "operation": "parse", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.023419, + "cpu_samples_us": [ + 0.023656, + 0.023398, + 0.023419, + 0.0234095, + 0.023475, + 0.023437, + 0.0234055 + ], + "peak_rss_mib": 32.125, + "peak_rss_samples_mib": [ + 32.15625, + 32.125, + 32.15625, + 32.15625, + 32.109375, + 32.125, + 32.125 + ] + }, + { + "fixture": "empty_object", + "operation": "parse", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.02344, + "cpu_samples_us": [ + 0.023725, + 0.0233955, + 0.0233975, + 0.023423, + 0.0234835, + 0.02344, + 0.0234475 + ], + "peak_rss_mib": 32.15625, + "peak_rss_samples_mib": [ + 32.15625, + 32.15625, + 32.171875, + 32.15625, + 32.15625, + 32.15625, + 32.1875 + ] + }, + { + "fixture": "empty_object", + "operation": "parse", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.0451555, + "cpu_samples_us": [ + 0.04517, + 0.0452185, + 0.0452415, + 0.0451455, + 0.0451515, + 0.045143, + 0.0451555 + ], + "peak_rss_mib": 59.546875, + "peak_rss_samples_mib": [ + 59.546875, + 59.5625, + 59.546875, + 59.5, + 59.484375, + 59.546875, + 59.5625 + ] + }, + { + "fixture": "empty_object", + "operation": "parse", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.0241115, + "cpu_samples_us": [ + 0.0241115, + 0.0240795, + 0.0241405, + 0.024094, + 0.024173, + 0.024272, + 0.024085 + ], + "peak_rss_mib": 69.0625, + "peak_rss_samples_mib": [ + 69.078125, + 69.09375, + 69.046875, + 69.0625, + 69.078125, + 69.015625, + 69.0625 + ] + }, + { + "fixture": "empty_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0176065, + "cpu_samples_us": [ + 0.0176635, + 0.0176025, + 0.0176045, + 0.0176035, + 0.017617, + 0.0176065, + 0.017612 + ], + "peak_rss_mib": 13.09375, + "peak_rss_samples_mib": [ + 13.09375, + 13.09375, + 13.09375, + 13.09375, + 13.09375, + 13.09375, + 13.09375 + ] + }, + { + "fixture": "empty_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0176335, + "cpu_samples_us": [ + 0.0176335, + 0.017979, + 0.0176335, + 0.017649, + 0.017633, + 0.017629, + 0.0176275 + ], + "peak_rss_mib": 13.125, + "peak_rss_samples_mib": [ + 13.125, + 13.140625, + 13.125, + 13.125, + 13.125, + 13.125, + 13.140625 + ] + }, + { + "fixture": "empty_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.0319655, + "cpu_samples_us": [ + 0.0319515, + 0.0319675, + 0.031954, + 0.0319655, + 0.032113, + 0.0319555, + 0.0319695 + ], + "peak_rss_mib": 59.640625, + "peak_rss_samples_mib": [ + 59.640625, + 59.59375, + 59.65625, + 59.59375, + 59.609375, + 59.65625, + 59.734375 + ] + }, + { + "fixture": "empty_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.032645, + "cpu_samples_us": [ + 0.0326315, + 0.03266, + 0.0325945, + 0.032645, + 0.032635, + 0.032652, + 0.032656 + ], + "peak_rss_mib": 129.828125, + "peak_rss_samples_mib": [ + 129.828125, + 129.828125, + 129.8125, + 129.828125, + 129.8125, + 129.921875, + 129.828125 + ] + }, + { + "fixture": "tiny_object", + "operation": "parse", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.036762, + "cpu_samples_us": [ + 0.0372355, + 0.0367305, + 0.0367725, + 0.0366935, + 0.036714, + 0.036762, + 0.036823 + ], + "peak_rss_mib": 32.296875, + "peak_rss_samples_mib": [ + 32.265625, + 32.296875, + 32.265625, + 32.265625, + 32.296875, + 32.296875, + 32.296875 + ] + }, + { + "fixture": "tiny_object", + "operation": "parse", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.036826, + "cpu_samples_us": [ + 0.036914, + 0.0367775, + 0.036753, + 0.036826, + 0.0369125, + 0.0368045, + 0.0368295 + ], + "peak_rss_mib": 32.3125, + "peak_rss_samples_mib": [ + 32.328125, + 32.296875, + 32.28125, + 32.296875, + 32.328125, + 32.3125, + 32.328125 + ] + }, + { + "fixture": "tiny_object", + "operation": "parse", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.081479, + "cpu_samples_us": [ + 0.081783, + 0.080571, + 0.081607, + 0.081479, + 0.0809025, + 0.082801, + 0.080405 + ], + "peak_rss_mib": 59.578125, + "peak_rss_samples_mib": [ + 59.5625, + 59.578125, + 59.625, + 59.546875, + 59.546875, + 59.65625, + 59.65625 + ] + }, + { + "fixture": "tiny_object", + "operation": "parse", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.045202, + "cpu_samples_us": [ + 0.0450895, + 0.045252, + 0.045202, + 0.0451465, + 0.0452165, + 0.045156, + 0.045202 + ], + "peak_rss_mib": 69.09375, + "peak_rss_samples_mib": [ + 69.09375, + 69.0625, + 69.0625, + 69.09375, + 69.09375, + 69.125, + 69.09375 + ] + }, + { + "fixture": "tiny_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.033932, + "cpu_samples_us": [ + 0.033932, + 0.034023, + 0.033861, + 0.034004, + 0.0339225, + 0.033948, + 0.0339 + ], + "peak_rss_mib": 32.3125, + "peak_rss_samples_mib": [ + 32.3125, + 32.328125, + 32.3125, + 32.296875, + 32.34375, + 32.328125, + 32.3125 + ] + }, + { + "fixture": "tiny_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.03395, + "cpu_samples_us": [ + 0.033959, + 0.033943, + 0.0339125, + 0.03395, + 0.0339025, + 0.034006, + 0.0340435 + ], + "peak_rss_mib": 32.34375, + "peak_rss_samples_mib": [ + 32.34375, + 32.328125, + 32.375, + 32.328125, + 32.359375, + 32.34375, + 32.359375 + ] + }, + { + "fixture": "tiny_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.03717, + "cpu_samples_us": [ + 0.037177, + 0.037156, + 0.037188, + 0.0372245, + 0.03717, + 0.037161, + 0.0371675 + ], + "peak_rss_mib": 59.671875, + "peak_rss_samples_mib": [ + 59.65625, + 59.546875, + 59.75, + 59.6875, + 59.734375, + 59.609375, + 59.671875 + ] + }, + { + "fixture": "tiny_object", + "operation": "stringify", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.043155, + "cpu_samples_us": [ + 0.0430945, + 0.043336, + 0.043155, + 0.0431155, + 0.0432965, + 0.043365, + 0.0430815 + ], + "peak_rss_mib": 129.796875, + "peak_rss_samples_mib": [ + 129.796875, + 129.78125, + 129.8125, + 129.78125, + 129.8125, + 129.796875, + 129.8125 + ] + }, + { + "fixture": "small_record", + "operation": "parse", + "iterations": 1581369, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.09858230431986463, + "cpu_samples_us": [ + 0.09858230431986463, + 0.09851021488343328, + 0.09847733198260494, + 0.09852981815123478, + 0.09887445624645481, + 0.0986834824762595, + 0.09868032065887215 + ], + "peak_rss_mib": 79.546875, + "peak_rss_samples_mib": [ + 79.53125, + 79.53125, + 79.53125, + 79.5625, + 79.5625, + 79.546875, + 79.5625 + ] + }, + { + "fixture": "small_record", + "operation": "parse", + "iterations": 1581369, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.09857598068508995, + "cpu_samples_us": [ + 0.09846468471305558, + 0.09860759885896334, + 0.09842927235831739, + 0.09857598068508995, + 0.09854436251121655, + 0.09871446828665542, + 0.09875177773182603 + ], + "peak_rss_mib": 79.578125, + "peak_rss_samples_mib": [ + 79.578125, + 79.5625, + 79.59375, + 79.59375, + 79.59375, + 79.578125, + 79.578125 + ] + }, + { + "fixture": "small_record", + "operation": "parse", + "iterations": 1581369, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.34204793441631903, + "cpu_samples_us": [ + 0.32623315620832327, + 0.36553960524077556, + 0.33517098159885517, + 0.3634913799372569, + 0.34249564775836633, + 0.34204793441631903, + 0.3242146519882456 + ], + "peak_rss_mib": 59.734375, + "peak_rss_samples_mib": [ + 59.734375, + 59.734375, + 59.75, + 59.71875, + 59.734375, + 59.78125, + 59.609375 + ] + }, + { + "fixture": "small_record", + "operation": "parse", + "iterations": 1581369, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.24420233354770454, + "cpu_samples_us": [ + 0.24564348991285398, + 0.24405056631311225, + 0.24420233354770454, + 0.244154273923417, + 0.2905027226409522, + 0.24413909719995777, + 0.24481129957650619 + ], + "peak_rss_mib": 79.921875, + "peak_rss_samples_mib": [ + 79.890625, + 79.90625, + 79.890625, + 79.953125, + 79.921875, + 79.9375, + 79.921875 + ] + }, + { + "fixture": "small_record", + "operation": "stringify", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.045712, + "cpu_samples_us": [ + 0.045681, + 0.045761, + 0.0460535, + 0.045712, + 0.0456685, + 0.0456495, + 0.0460745 + ], + "peak_rss_mib": 33.328125, + "peak_rss_samples_mib": [ + 33.328125, + 33.328125, + 33.328125, + 33.328125, + 33.359375, + 33.359375, + 33.328125 + ] + }, + { + "fixture": "small_record", + "operation": "stringify", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0459135, + "cpu_samples_us": [ + 0.046133, + 0.0459135, + 0.045697, + 0.045804, + 0.045666, + 0.045935, + 0.045981 + ], + "peak_rss_mib": 33.359375, + "peak_rss_samples_mib": [ + 33.390625, + 33.359375, + 33.34375, + 33.359375, + 33.359375, + 33.359375, + 33.390625 + ] + }, + { + "fixture": "small_record", + "operation": "stringify", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.108008, + "cpu_samples_us": [ + 0.1080685, + 0.108132, + 0.1079695, + 0.108135, + 0.1079805, + 0.10786, + 0.108008 + ], + "peak_rss_mib": 59.71875, + "peak_rss_samples_mib": [ + 59.703125, + 59.765625, + 59.71875, + 59.6875, + 59.75, + 59.703125, + 59.765625 + ] + }, + { + "fixture": "small_record", + "operation": "stringify", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.1194195, + "cpu_samples_us": [ + 0.1195545, + 0.1192005, + 0.1193045, + 0.119195, + 0.119645, + 0.1194195, + 0.1195725 + ], + "peak_rss_mib": 378.734375, + "peak_rss_samples_mib": [ + 378.734375, + 378.71875, + 378.71875, + 378.71875, + 378.734375, + 378.734375, + 378.75 + ] + }, + { + "fixture": "object_1k", + "operation": "parse", + "iterations": 1961848, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.08202368379201651, + "cpu_samples_us": [ + 0.08202674213292772, + 0.0821577410686251, + 0.08193142384119463, + 0.08192071964800535, + 0.08214244936406898, + 0.08187535425782222, + 0.08202368379201651 + ], + "peak_rss_mib": 64.9375, + "peak_rss_samples_mib": [ + 64.90625, + 64.9375, + 64.9375, + 64.9375, + 64.90625, + 64.9375, + 64.90625 + ] + }, + { + "fixture": "object_1k", + "operation": "parse", + "iterations": 1961848, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.08200431429957876, + "cpu_samples_us": [ + 0.0819966684473007, + 0.08206497139431801, + 0.0819538516745436, + 0.08189625292071558, + 0.08200431429957876, + 0.08202470323898692, + 0.08213429378830572 + ], + "peak_rss_mib": 64.96875, + "peak_rss_samples_mib": [ + 64.96875, + 64.96875, + 64.96875, + 64.96875, + 64.96875, + 64.96875, + 64.96875 + ] + }, + { + "fixture": "object_1k", + "operation": "parse", + "iterations": 1961848, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.5321620227459009, + "cpu_samples_us": [ + 0.5359115487030596, + 0.5309070835253292, + 0.532532591719644, + 0.5321620227459009, + 0.531584506037165, + 0.5334011605384311, + 0.5317782009615424 + ], + "peak_rss_mib": 61.84375, + "peak_rss_samples_mib": [ + 61.84375, + 61.890625, + 61.671875, + 61.640625, + 61.84375, + 61.921875, + 61.890625 + ] + }, + { + "fixture": "object_1k", + "operation": "parse", + "iterations": 1961848, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.2274574788668643, + "cpu_samples_us": [ + 0.22757318609800556, + 0.22729640624553993, + 0.2275273109843372, + 0.22853809265549624, + 0.2272123018704813, + 0.22697528044986157, + 0.2274574788668643 + ], + "peak_rss_mib": 71.265625, + "peak_rss_samples_mib": [ + 71.265625, + 71.265625, + 71.234375, + 71.296875, + 71.25, + 71.28125, + 71.28125 + ] + }, + { + "fixture": "object_1k", + "operation": "stringify", + "iterations": 1036867, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.11545357311979261, + "cpu_samples_us": [ + 0.11529251099707098, + 0.1153021554355573, + 0.1157236173974097, + 0.11557702193241756, + 0.1158991461778608, + 0.11519606661220774, + 0.11545357311979261 + ], + "peak_rss_mib": 33.34375, + "peak_rss_samples_mib": [ + 33.34375, + 33.34375, + 33.34375, + 33.34375, + 33.34375, + 33.359375, + 33.375 + ] + }, + { + "fixture": "object_1k", + "operation": "stringify", + "iterations": 1036867, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.11503886226488065, + "cpu_samples_us": [ + 0.1155750930447203, + 0.11528190211473603, + 0.11503886226488065, + 0.11478232020114441, + 0.11527997322703876, + 0.11477556909420399, + 0.11494048899232014 + ], + "peak_rss_mib": 33.375, + "peak_rss_samples_mib": [ + 33.375, + 33.375, + 33.40625, + 33.390625, + 33.375, + 33.375, + 33.375 + ] + }, + { + "fixture": "object_1k", + "operation": "stringify", + "iterations": 1036867, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.19348479602494822, + "cpu_samples_us": [ + 0.19368057812622064, + 0.193406676073209, + 0.19428624886316181, + 0.1915231172368298, + 0.19439619546190592, + 0.19127043294848808, + 0.19348479602494822 + ], + "peak_rss_mib": 61.859375, + "peak_rss_samples_mib": [ + 61.765625, + 61.90625, + 61.90625, + 61.796875, + 61.859375, + 61.859375, + 61.84375 + ] + }, + { + "fixture": "object_1k", + "operation": "stringify", + "iterations": 1036867, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.2112508161606069, + "cpu_samples_us": [ + 0.210534234381073, + 0.21156811818680699, + 0.21235221103574517, + 0.2112508161606069, + 0.21111772290949563, + 0.21113315401107374, + 0.21164913147009212 + ], + "peak_rss_mib": 70.890625, + "peak_rss_samples_mib": [ + 70.828125, + 70.90625, + 70.890625, + 70.859375, + 70.859375, + 70.921875, + 70.90625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "parse", + "iterations": 11284, + "engine": "perry", + "repetitions": 7, + "cpu_us": 13.588355193193904, + "cpu_samples_us": [ + 13.585519319390286, + 13.565047855370436, + 13.634969868840837, + 13.568238213399503, + 13.593672456575682, + 13.589595887982984, + 13.588355193193904 + ], + "peak_rss_mib": 63.421875, + "peak_rss_samples_mib": [ + 63.421875, + 63.421875, + 63.421875, + 63.421875, + 63.421875, + 63.421875, + 63.421875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "parse", + "iterations": 11284, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 13.593849698688409, + "cpu_samples_us": [ + 13.593849698688409, + 13.563807160581353, + 13.630095710740871, + 13.642591279688054, + 13.58082240340305, + 13.614143920595534, + 13.593672456575682 + ], + "peak_rss_mib": 63.46875, + "peak_rss_samples_mib": [ + 63.46875, + 63.46875, + 63.46875, + 63.46875, + 63.46875, + 63.46875, + 63.46875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "parse", + "iterations": 11284, + "engine": "node", + "repetitions": 7, + "cpu_us": 40.89764267990074, + "cpu_samples_us": [ + 41.75212690535271, + 39.924406238922366, + 37.82196029776675, + 38.74131513647643, + 42.43114143920595, + 41.36680255228642, + 40.89764267990074 + ], + "peak_rss_mib": 65.875, + "peak_rss_samples_mib": [ + 65.875, + 65.890625, + 65.859375, + 65.890625, + 65.875, + 65.78125, + 65.875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "parse", + "iterations": 11284, + "engine": "bun", + "repetitions": 7, + "cpu_us": 33.81646579227225, + "cpu_samples_us": [ + 33.83569656150301, + 33.81646579227225, + 33.78225806451613, + 33.83445586671393, + 33.780574264445235, + 33.83250620347395, + 33.8062743707905 + ], + "peak_rss_mib": 70.640625, + "peak_rss_samples_mib": [ + 70.640625, + 70.671875, + 70.59375, + 70.640625, + 70.65625, + 70.609375, + 70.65625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "stringify", + "iterations": 12949, + "engine": "perry", + "repetitions": 7, + "cpu_us": 10.997683218781374, + "cpu_samples_us": [ + 10.991968491775427, + 10.932658892578578, + 11.02571627152676, + 11.054753262800217, + 10.90192292841146, + 11.053749324272145, + 10.997683218781374 + ], + "peak_rss_mib": 33.515625, + "peak_rss_samples_mib": [ + 33.515625, + 33.515625, + 33.515625, + 33.515625, + 33.515625, + 33.515625, + 33.5 + ] + }, + { + "fixture": "records_array_16k", + "operation": "stringify", + "iterations": 12949, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 10.9896517105568, + "cpu_samples_us": [ + 10.9896517105568, + 10.969727392076608, + 10.994285272994054, + 10.935130125878446, + 11.008108734265194, + 11.007259247818364, + 10.913275156382733 + ], + "peak_rss_mib": 33.546875, + "peak_rss_samples_mib": [ + 33.578125, + 33.546875, + 33.578125, + 33.546875, + 33.546875, + 33.53125, + 33.546875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "stringify", + "iterations": 12949, + "engine": "node", + "repetitions": 7, + "cpu_us": 13.188199860993127, + "cpu_samples_us": [ + 13.122712178546607, + 13.211522125260638, + 13.188199860993127, + 13.194918526527145, + 13.241408602980925, + 13.186114757896362, + 13.156923314541663 + ], + "peak_rss_mib": 61.921875, + "peak_rss_samples_mib": [ + 61.9375, + 61.953125, + 61.9375, + 61.921875, + 61.828125, + 61.875, + 61.875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "stringify", + "iterations": 12949, + "engine": "bun", + "repetitions": 7, + "cpu_us": 23.15491543748552, + "cpu_samples_us": [ + 23.221252606378872, + 23.15491543748552, + 23.12997142636497, + 23.15375704687621, + 23.154374855201173, + 23.219785311607072, + 23.193528457795967 + ], + "peak_rss_mib": 71.046875, + "peak_rss_samples_mib": [ + 71.078125, + 71.078125, + 71.046875, + 71.03125, + 71.046875, + 71.03125, + 71.0625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "sparse", + "iterations": 7868, + "engine": "perry", + "repetitions": 7, + "cpu_us": 19.972038637519063, + "cpu_samples_us": [ + 19.972038637519063, + 20.028978139298424, + 19.969369598373156, + 19.999110320284696, + 19.944839857651246, + 19.97763091001525, + 19.94661921708185 + ], + "peak_rss_mib": 72.21875, + "peak_rss_samples_mib": [ + 72.234375, + 72.21875, + 72.21875, + 72.21875, + 72.21875, + 72.21875, + 72.21875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "sparse", + "iterations": 7868, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 19.986908998474835, + "cpu_samples_us": [ + 19.988942552109812, + 19.969496695475343, + 19.93073207930859, + 20.027580071174377, + 19.986908998474835, + 19.95475343162176, + 20.050584646670057 + ], + "peak_rss_mib": 72.25, + "peak_rss_samples_mib": [ + 72.25, + 72.265625, + 72.25, + 72.265625, + 72.25, + 72.25, + 72.25 + ] + }, + { + "fixture": "records_array_16k", + "operation": "sparse", + "iterations": 7868, + "engine": "node", + "repetitions": 7, + "cpu_us": 39.68289273004576, + "cpu_samples_us": [ + 38.95945602440264, + 40.618454499237416, + 39.68289273004576, + 42.24644128113879, + 38.2436451448907, + 39.973182511438736, + 38.53177427554652 + ], + "peak_rss_mib": 66.03125, + "peak_rss_samples_mib": [ + 66.03125, + 66.109375, + 66.09375, + 65.90625, + 65.953125, + 66.09375, + 66.0 + ] + }, + { + "fixture": "records_array_16k", + "operation": "sparse", + "iterations": 7868, + "engine": "bun", + "repetitions": 7, + "cpu_us": 33.938485002541945, + "cpu_samples_us": [ + 33.938485002541945, + 33.93721403152008, + 33.97153024911032, + 33.982460599898324, + 33.938485002541945, + 33.92437722419929, + 33.89260294865277 + ], + "peak_rss_mib": 70.640625, + "peak_rss_samples_mib": [ + 70.625, + 70.640625, + 70.640625, + 70.65625, + 70.640625, + 70.625, + 70.640625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "scan", + "iterations": 3761, + "engine": "perry", + "repetitions": 7, + "cpu_us": 58.88726402552513, + "cpu_samples_us": [ + 58.88726402552513, + 58.862802446157936, + 58.921563413985645, + 58.956394575910664, + 58.810954533368786, + 58.98191970220686, + 58.73943100239298 + ], + "peak_rss_mib": 204.4375, + "peak_rss_samples_mib": [ + 204.453125, + 204.4375, + 204.4375, + 204.5625, + 204.4375, + 204.4375, + 204.4375 + ] + }, + { + "fixture": "records_array_16k", + "operation": "scan", + "iterations": 3761, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 58.880616857218826, + "cpu_samples_us": [ + 58.96995479925552, + 58.74581228396703, + 58.87902153682531, + 58.880616857218826, + 58.909066737569795, + 58.84419037490029, + 58.991491624567935 + ], + "peak_rss_mib": 204.46875, + "peak_rss_samples_mib": [ + 204.46875, + 204.484375, + 204.46875, + 204.46875, + 204.484375, + 204.46875, + 204.234375 + ] + }, + { + "fixture": "records_array_16k", + "operation": "scan", + "iterations": 3761, + "engine": "node", + "repetitions": 7, + "cpu_us": 41.383142781175216, + "cpu_samples_us": [ + 39.113799521403884, + 41.383142781175216, + 42.72454134538687, + 39.61792076575379, + 42.13161393246477, + 42.896304174421694, + 40.95985110342994 + ], + "peak_rss_mib": 61.953125, + "peak_rss_samples_mib": [ + 61.9375, + 61.953125, + 62.046875, + 61.921875, + 61.984375, + 62.015625, + 61.859375 + ] + }, + { + "fixture": "records_array_16k", + "operation": "scan", + "iterations": 3761, + "engine": "bun", + "repetitions": 7, + "cpu_us": 35.6910396171231, + "cpu_samples_us": [ + 35.68465833554906, + 35.79766019675618, + 35.77053975006647, + 35.69582557830364, + 35.65594256846583, + 35.64770007976602, + 35.6910396171231 + ], + "peak_rss_mib": 77.40625, + "peak_rss_samples_mib": [ + 77.390625, + 77.453125, + 77.375, + 77.421875, + 77.4375, + 77.40625, + 77.40625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "roundtrip", + "iterations": 7659, + "engine": "perry", + "repetitions": 7, + "cpu_us": 20.977151064107584, + "cpu_samples_us": [ + 20.997127562344954, + 20.965530748139443, + 20.95116855986421, + 21.141793967880925, + 21.19193106149628, + 20.977151064107584, + 20.969056012534274 + ], + "peak_rss_mib": 68.765625, + "peak_rss_samples_mib": [ + 68.75, + 68.75, + 69.234375, + 68.765625, + 70.296875, + 70.296875, + 68.75 + ] + }, + { + "fixture": "records_array_16k", + "operation": "roundtrip", + "iterations": 7659, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 20.99138268703486, + "cpu_samples_us": [ + 20.993471732602167, + 20.997388693040868, + 20.96291944118031, + 20.99138268703486, + 21.13774644209427, + 20.95156025590808, + 20.976498237367803 + ], + "peak_rss_mib": 68.8125, + "peak_rss_samples_mib": [ + 68.8125, + 69.265625, + 68.796875, + 69.28125, + 68.796875, + 68.796875, + 70.328125 + ] + }, + { + "fixture": "records_array_16k", + "operation": "roundtrip", + "iterations": 7659, + "engine": "node", + "repetitions": 7, + "cpu_us": 53.20263742002872, + "cpu_samples_us": [ + 54.27653740697219, + 52.468468468468465, + 55.79514296905601, + 51.868390129259694, + 54.32432432432432, + 53.20263742002872, + 51.973364669016846 + ], + "peak_rss_mib": 65.890625, + "peak_rss_samples_mib": [ + 65.890625, + 65.953125, + 65.921875, + 65.9375, + 65.75, + 65.890625, + 65.796875 + ] + }, + { + "fixture": "records_array_16k", + "operation": "roundtrip", + "iterations": 7659, + "engine": "bun", + "repetitions": 7, + "cpu_us": 57.690951821386605, + "cpu_samples_us": [ + 57.786003394699044, + 57.592244418331376, + 57.65961613787701, + 57.732210471340906, + 57.690951821386605, + 57.692910301605956, + 57.64773469121295 + ], + "peak_rss_mib": 70.890625, + "peak_rss_samples_mib": [ + 70.890625, + 70.859375, + 70.921875, + 70.921875, + 70.875, + 70.890625, + 70.859375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "parse", + "iterations": 170, + "engine": "perry", + "repetitions": 7, + "cpu_us": 917.6941176470589, + "cpu_samples_us": [ + 919.1529411764706, + 915.9529411764706, + 916.6823529411764, + 917.6941176470589, + 920.9, + 919.4, + 915.9470588235295 + ], + "peak_rss_mib": 67.09375, + "peak_rss_samples_mib": [ + 67.109375, + 67.109375, + 67.09375, + 67.09375, + 67.09375, + 67.09375, + 67.09375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "parse", + "iterations": 170, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 918.935294117647, + "cpu_samples_us": [ + 917.4529411764706, + 918.1823529411764, + 921.2529411764706, + 917.1823529411764, + 920.5294117647059, + 918.935294117647, + 924.1411764705882 + ], + "peak_rss_mib": 67.125, + "peak_rss_samples_mib": [ + 67.125, + 67.125, + 67.125, + 67.140625, + 67.125, + 67.125, + 67.140625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "parse", + "iterations": 170, + "engine": "node", + "repetitions": 7, + "cpu_us": 2674.923529411765, + "cpu_samples_us": [ + 2632.394117647059, + 2889.994117647059, + 2686.323529411765, + 2601.635294117647, + 2682.294117647059, + 2674.923529411765, + 2665.3823529411766 + ], + "peak_rss_mib": 125.71875, + "peak_rss_samples_mib": [ + 125.78125, + 125.734375, + 125.78125, + 125.65625, + 125.6875, + 125.6875, + 125.71875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "parse", + "iterations": 170, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2143.958823529412, + "cpu_samples_us": [ + 2134.664705882353, + 2137.8176470588237, + 2144.035294117647, + 2144.3176470588237, + 2141.1470588235293, + 2144.6588235294116, + 2143.958823529412 + ], + "peak_rss_mib": 88.71875, + "peak_rss_samples_mib": [ + 88.71875, + 88.6875, + 88.765625, + 88.75, + 88.703125, + 88.75, + 88.703125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "stringify", + "iterations": 229, + "engine": "perry", + "repetitions": 7, + "cpu_us": 645.2620087336245, + "cpu_samples_us": [ + 641.6812227074236, + 644.4672489082969, + 648.2576419213974, + 645.2620087336245, + 644.6593886462882, + 654.2139737991266, + 651.0349344978166 + ], + "peak_rss_mib": 63.0, + "peak_rss_samples_mib": [ + 63.03125, + 63.03125, + 63.03125, + 63.0, + 63.0, + 63.0, + 63.0 + ] + }, + { + "fixture": "records_array_1m", + "operation": "stringify", + "iterations": 229, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 644.8165938864629, + "cpu_samples_us": [ + 644.8165938864629, + 642.3668122270742, + 646.4454148471616, + 647.7816593886463, + 647.5109170305677, + 644.7729257641921, + 643.9475982532751 + ], + "peak_rss_mib": 63.03125, + "peak_rss_samples_mib": [ + 63.03125, + 63.03125, + 63.03125, + 63.03125, + 63.03125, + 63.0625, + 63.03125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "stringify", + "iterations": 229, + "engine": "node", + "repetitions": 7, + "cpu_us": 846.3406113537118, + "cpu_samples_us": [ + 849.7379912663755, + 846.7379912663755, + 845.6724890829694, + 846.3406113537118, + 845.5807860262008, + 846.5109170305677, + 842.471615720524 + ], + "peak_rss_mib": 129.390625, + "peak_rss_samples_mib": [ + 129.390625, + 129.296875, + 129.40625, + 129.390625, + 129.390625, + 129.46875, + 129.4375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "stringify", + "iterations": 229, + "engine": "bun", + "repetitions": 7, + "cpu_us": 965.9344978165939, + "cpu_samples_us": [ + 965.9344978165939, + 967.8384279475982, + 965.0786026200873, + 967.117903930131, + 965.8122270742358, + 967.0873362445415, + 965.1048034934498 + ], + "peak_rss_mib": 103.6875, + "peak_rss_samples_mib": [ + 103.71875, + 103.703125, + 103.65625, + 103.6875, + 103.6875, + 103.703125, + 103.6875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "sparse", + "iterations": 161, + "engine": "perry", + "repetitions": 7, + "cpu_us": 966.888198757764, + "cpu_samples_us": [ + 967.944099378882, + 966.888198757764, + 966.6086956521739, + 967.6024844720497, + 965.2732919254659, + 965.6583850931677, + 967.9192546583851 + ], + "peak_rss_mib": 67.625, + "peak_rss_samples_mib": [ + 67.640625, + 67.625, + 67.625, + 67.625, + 67.625, + 67.625, + 67.640625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "sparse", + "iterations": 161, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 968.27950310559, + "cpu_samples_us": [ + 967.7701863354038, + 968.3478260869565, + 968.27950310559, + 973.2919254658385, + 968.111801242236, + 967.9254658385094, + 968.4409937888199 + ], + "peak_rss_mib": 67.65625, + "peak_rss_samples_mib": [ + 67.671875, + 67.65625, + 67.65625, + 67.65625, + 67.671875, + 67.65625, + 67.65625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "sparse", + "iterations": 161, + "engine": "node", + "repetitions": 7, + "cpu_us": 2720.3478260869565, + "cpu_samples_us": [ + 2721.950310559006, + 2738.9875776397516, + 2760.2608695652175, + 2712.801242236025, + 2586.782608695652, + 2658.1801242236024, + 2720.3478260869565 + ], + "peak_rss_mib": 125.65625, + "peak_rss_samples_mib": [ + 125.625, + 125.625, + 125.8125, + 125.625, + 125.671875, + 125.6875, + 125.65625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "sparse", + "iterations": 161, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2182.1242236024846, + "cpu_samples_us": [ + 2179.0062111801244, + 2182.304347826087, + 2181.888198757764, + 2470.0434782608695, + 2182.1242236024846, + 2187.5155279503106, + 2177.981366459627 + ], + "peak_rss_mib": 97.453125, + "peak_rss_samples_mib": [ + 97.09375, + 97.46875, + 97.109375, + 97.40625, + 97.53125, + 98.890625, + 97.453125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "scan", + "iterations": 69, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2816.2608695652175, + "cpu_samples_us": [ + 2816.2608695652175, + 2818.623188405797, + 2817.6666666666665, + 2808.2753623188405, + 2818.289855072464, + 2814.5942028985505, + 2811.304347826087 + ], + "peak_rss_mib": 158.5, + "peak_rss_samples_mib": [ + 158.484375, + 158.5, + 158.5, + 158.5, + 158.5, + 158.5, + 158.5 + ] + }, + { + "fixture": "records_array_1m", + "operation": "scan", + "iterations": 69, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2814.376811594203, + "cpu_samples_us": [ + 2817.5942028985505, + 2807.3623188405795, + 2814.072463768116, + 2814.376811594203, + 2809.623188405797, + 2814.4202898550725, + 2817.31884057971 + ], + "peak_rss_mib": 158.53125, + "peak_rss_samples_mib": [ + 158.53125, + 158.53125, + 158.53125, + 158.53125, + 158.53125, + 158.53125, + 158.53125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "scan", + "iterations": 69, + "engine": "node", + "repetitions": 7, + "cpu_us": 2965.2753623188405, + "cpu_samples_us": [ + 2965.2753623188405, + 2939.782608695652, + 3035.4057971014495, + 2967.449275362319, + 2817.2028985507245, + 3031.2608695652175, + 2955.478260869565 + ], + "peak_rss_mib": 97.578125, + "peak_rss_samples_mib": [ + 97.59375, + 97.578125, + 97.5, + 97.65625, + 97.609375, + 97.4375, + 97.4375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "scan", + "iterations": 69, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2227.2608695652175, + "cpu_samples_us": [ + 2227.2608695652175, + 2232.623188405797, + 2227.231884057971, + 2227.521739130435, + 2230.1739130434785, + 2226.217391304348, + 2224.855072463768 + ], + "peak_rss_mib": 83.1875, + "peak_rss_samples_mib": [ + 83.265625, + 83.3125, + 83.1875, + 83.1875, + 83.28125, + 83.171875, + 83.171875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "roundtrip", + "iterations": 115, + "engine": "perry", + "repetitions": 7, + "cpu_us": 1411.4521739130435, + "cpu_samples_us": [ + 1409.5565217391304, + 1411.4521739130435, + 1411.904347826087, + 1414.0, + 1409.1478260869565, + 1415.5565217391304, + 1411.2782608695652 + ], + "peak_rss_mib": 61.46875, + "peak_rss_samples_mib": [ + 61.46875, + 61.46875, + 61.46875, + 61.46875, + 61.46875, + 61.46875, + 61.46875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "roundtrip", + "iterations": 115, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 1409.982608695652, + "cpu_samples_us": [ + 1408.8434782608695, + 1408.4608695652173, + 1414.5217391304348, + 1413.286956521739, + 1408.0086956521739, + 1409.982608695652, + 1413.6 + ], + "peak_rss_mib": 61.5, + "peak_rss_samples_mib": [ + 61.5, + 61.5, + 61.5, + 61.5, + 61.5, + 61.5, + 61.5 + ] + }, + { + "fixture": "records_array_1m", + "operation": "roundtrip", + "iterations": 115, + "engine": "node", + "repetitions": 7, + "cpu_us": 3614.495652173913, + "cpu_samples_us": [ + 3615.8608695652174, + 3631.2521739130434, + 3523.3217391304347, + 3461.0782608695654, + 3677.808695652174, + 3495.886956521739, + 3614.495652173913 + ], + "peak_rss_mib": 152.125, + "peak_rss_samples_mib": [ + 151.265625, + 152.28125, + 152.125, + 152.140625, + 152.28125, + 152.109375, + 152.046875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "roundtrip", + "iterations": 115, + "engine": "bun", + "repetitions": 7, + "cpu_us": 3109.330434782609, + "cpu_samples_us": [ + 3110.6782608695653, + 3111.6782608695653, + 3107.3739130434783, + 3105.6434782608694, + 3107.113043478261, + 3109.330434782609, + 3111.913043478261 + ], + "peak_rss_mib": 93.328125, + "peak_rss_samples_mib": [ + 93.359375, + 93.296875, + 93.328125, + 93.328125, + 93.296875, + 93.3125, + 93.34375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "parse", + "iterations": 81, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2010.0740740740741, + "cpu_samples_us": [ + 2009.6049382716049, + 2005.9135802469136, + 2008.9135802469136, + 2010.0740740740741, + 2010.6913580246915, + 2011.1358024691358, + 2012.7037037037037 + ], + "peak_rss_mib": 66.421875, + "peak_rss_samples_mib": [ + 66.421875, + 66.453125, + 66.453125, + 66.421875, + 66.453125, + 66.421875, + 66.421875 + ] + }, + { + "fixture": "records_object_1m", + "operation": "parse", + "iterations": 81, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2008.469135802469, + "cpu_samples_us": [ + 2008.469135802469, + 2008.1975308641975, + 2009.6666666666667, + 2012.0493827160494, + 2007.1975308641975, + 2009.2716049382716, + 2007.8024691358025 + ], + "peak_rss_mib": 66.453125, + "peak_rss_samples_mib": [ + 66.453125, + 66.453125, + 66.453125, + 66.484375, + 66.453125, + 66.453125, + 66.453125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "parse", + "iterations": 81, + "engine": "node", + "repetitions": 7, + "cpu_us": 2712.1111111111113, + "cpu_samples_us": [ + 2712.1111111111113, + 2702.8888888888887, + 2740.9876543209875, + 2748.9753086419755, + 2656.9876543209875, + 2661.543209876543, + 2848.0 + ], + "peak_rss_mib": 93.03125, + "peak_rss_samples_mib": [ + 92.953125, + 92.96875, + 93.0625, + 93.046875, + 93.046875, + 93.03125, + 92.859375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "parse", + "iterations": 81, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2152.135802469136, + "cpu_samples_us": [ + 2148.41975308642, + 2152.8765432098767, + 2151.8518518518517, + 2152.135802469136, + 2156.037037037037, + 2154.6543209876545, + 2149.0246913580245 + ], + "peak_rss_mib": 79.1875, + "peak_rss_samples_mib": [ + 79.140625, + 79.1875, + 79.21875, + 79.1875, + 79.234375, + 79.15625, + 79.15625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "stringify", + "iterations": 229, + "engine": "perry", + "repetitions": 7, + "cpu_us": 650.6637554585153, + "cpu_samples_us": [ + 651.170305676856, + 643.6855895196506, + 652.056768558952, + 646.6943231441048, + 650.6637554585153, + 652.1834061135371, + 648.1266375545852 + ], + "peak_rss_mib": 63.03125, + "peak_rss_samples_mib": [ + 63.0625, + 63.03125, + 63.03125, + 63.03125, + 63.0625, + 63.03125, + 63.03125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "stringify", + "iterations": 229, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 647.6724890829694, + "cpu_samples_us": [ + 649.3580786026201, + 644.8034934497816, + 648.3668122270742, + 645.9519650655022, + 643.7336244541485, + 647.6724890829694, + 647.9257641921397 + ], + "peak_rss_mib": 63.09375, + "peak_rss_samples_mib": [ + 63.09375, + 63.09375, + 63.09375, + 63.0625, + 63.09375, + 63.0625, + 63.09375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "stringify", + "iterations": 229, + "engine": "node", + "repetitions": 7, + "cpu_us": 850.0218340611353, + "cpu_samples_us": [ + 850.0218340611353, + 850.8864628820961, + 847.1921397379913, + 844.1659388646289, + 842.9082969432314, + 858.6812227074236, + 858.7991266375545 + ], + "peak_rss_mib": 129.421875, + "peak_rss_samples_mib": [ + 129.515625, + 129.546875, + 129.421875, + 129.359375, + 129.375, + 129.546875, + 129.375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "stringify", + "iterations": 229, + "engine": "bun", + "repetitions": 7, + "cpu_us": 965.7554585152839, + "cpu_samples_us": [ + 967.8558951965066, + 964.9301310043668, + 965.3624454148471, + 965.7554585152839, + 965.349344978166, + 966.4934497816594, + 968.3799126637555 + ], + "peak_rss_mib": 103.703125, + "peak_rss_samples_mib": [ + 107.375, + 103.703125, + 103.640625, + 103.703125, + 103.6875, + 103.71875, + 108.28125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "parse", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 8287.875, + "cpu_samples_us": [ + 8305.5625, + 8266.625, + 8287.875, + 8289.0625, + 8257.375, + 8314.875, + 8262.9375 + ], + "peak_rss_mib": 108.8125, + "peak_rss_samples_mib": [ + 108.8125, + 108.8125, + 108.8125, + 108.8125, + 108.8125, + 108.8125, + 108.8125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "parse", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 8278.3125, + "cpu_samples_us": [ + 8338.875, + 8262.6875, + 8266.5, + 8271.4375, + 8280.1875, + 8314.4375, + 8278.3125 + ], + "peak_rss_mib": 108.84375, + "peak_rss_samples_mib": [ + 108.84375, + 108.84375, + 108.84375, + 108.84375, + 108.84375, + 108.84375, + 108.84375 + ] + }, + { + "fixture": "records_array_8m", + "operation": "parse", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 32928.25, + "cpu_samples_us": [ + 32836.0, + 34094.1875, + 34082.625, + 32780.0625, + 32928.25, + 33330.125, + 32908.4375 + ], + "peak_rss_mib": 266.03125, + "peak_rss_samples_mib": [ + 266.03125, + 266.15625, + 265.921875, + 265.953125, + 265.90625, + 266.15625, + 266.1875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "parse", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 20853.375, + "cpu_samples_us": [ + 20685.8125, + 20930.0625, + 20853.375, + 20844.0625, + 20701.375, + 20953.5, + 20996.6875 + ], + "peak_rss_mib": 141.0625, + "peak_rss_samples_mib": [ + 139.65625, + 141.0625, + 141.140625, + 140.53125, + 139.6875, + 141.46875, + 141.859375 + ] + }, + { + "fixture": "records_array_8m", + "operation": "stringify", + "iterations": 29, + "engine": "perry", + "repetitions": 7, + "cpu_us": 4730.793103448276, + "cpu_samples_us": [ + 4739.103448275862, + 4759.310344827586, + 4730.793103448276, + 4723.068965517241, + 4743.862068965517, + 4725.206896551724, + 4726.3448275862065 + ], + "peak_rss_mib": 121.125, + "peak_rss_samples_mib": [ + 121.125, + 121.125, + 121.15625, + 121.140625, + 121.15625, + 121.125, + 121.125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "stringify", + "iterations": 29, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 4716.931034482759, + "cpu_samples_us": [ + 4712.206896551724, + 4726.586206896552, + 4716.931034482759, + 4710.689655172414, + 4721.620689655172, + 4709.137931034483, + 4722.6551724137935 + ], + "peak_rss_mib": 121.15625, + "peak_rss_samples_mib": [ + 121.15625, + 121.15625, + 121.15625, + 121.15625, + 121.171875, + 121.15625, + 121.15625 + ] + }, + { + "fixture": "records_array_8m", + "operation": "stringify", + "iterations": 29, + "engine": "node", + "repetitions": 7, + "cpu_us": 7262.3448275862065, + "cpu_samples_us": [ + 7330.862068965517, + 7258.827586206897, + 7262.3448275862065, + 7345.793103448276, + 7108.103448275862, + 7320.758620689655, + 7205.275862068966 + ], + "peak_rss_mib": 212.6875, + "peak_rss_samples_mib": [ + 212.6875, + 212.75, + 212.546875, + 212.515625, + 212.515625, + 212.71875, + 212.71875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "stringify", + "iterations": 29, + "engine": "bun", + "repetitions": 7, + "cpu_us": 8156.482758620689, + "cpu_samples_us": [ + 8149.793103448276, + 8165.551724137931, + 8072.586206896552, + 8156.482758620689, + 8171.379310344828, + 8169.931034482759, + 8113.793103448276 + ], + "peak_rss_mib": 196.640625, + "peak_rss_samples_mib": [ + 176.21875, + 196.640625, + 176.46875, + 196.6875, + 196.65625, + 196.65625, + 176.453125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "sparse", + "iterations": 15, + "engine": "perry", + "repetitions": 7, + "cpu_us": 8855.733333333334, + "cpu_samples_us": [ + 8857.933333333332, + 8855.733333333334, + 8851.533333333333, + 8868.266666666666, + 8855.666666666666, + 8855.466666666667, + 8868.8 + ], + "peak_rss_mib": 109.15625, + "peak_rss_samples_mib": [ + 109.15625, + 109.15625, + 109.15625, + 109.15625, + 109.15625, + 109.15625, + 109.15625 + ] + }, + { + "fixture": "records_array_8m", + "operation": "sparse", + "iterations": 15, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 8856.466666666667, + "cpu_samples_us": [ + 8856.466666666667, + 8852.0, + 8810.733333333334, + 8848.2, + 8900.2, + 8882.866666666667, + 8874.8 + ], + "peak_rss_mib": 109.1875, + "peak_rss_samples_mib": [ + 109.1875, + 109.1875, + 109.1875, + 109.1875, + 109.1875, + 109.1875, + 109.1875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "sparse", + "iterations": 15, + "engine": "node", + "repetitions": 7, + "cpu_us": 32417.2, + "cpu_samples_us": [ + 32197.066666666666, + 33689.4, + 32417.2, + 32221.266666666666, + 33411.0, + 31700.733333333334, + 33834.4 + ], + "peak_rss_mib": 265.96875, + "peak_rss_samples_mib": [ + 265.90625, + 266.1875, + 266.34375, + 265.953125, + 265.96875, + 265.875, + 266.296875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "sparse", + "iterations": 15, + "engine": "bun", + "repetitions": 7, + "cpu_us": 21521.733333333334, + "cpu_samples_us": [ + 21340.4, + 21194.466666666667, + 21586.733333333334, + 21578.866666666665, + 21521.733333333334, + 21502.733333333334, + 21648.266666666666 + ], + "peak_rss_mib": 188.109375, + "peak_rss_samples_mib": [ + 185.234375, + 185.21875, + 188.5, + 188.875, + 187.484375, + 188.109375, + 188.8125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "scan", + "iterations": 8, + "engine": "perry", + "repetitions": 7, + "cpu_us": 21801.375, + "cpu_samples_us": [ + 22206.25, + 21752.625, + 21733.625, + 21837.375, + 21764.875, + 21801.375, + 22043.875 + ], + "peak_rss_mib": 186.71875, + "peak_rss_samples_mib": [ + 186.71875, + 186.71875, + 186.71875, + 186.71875, + 186.71875, + 186.71875, + 186.71875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "scan", + "iterations": 8, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 21825.375, + "cpu_samples_us": [ + 21802.375, + 22103.0, + 22126.5, + 22282.75, + 21723.5, + 21825.375, + 21790.875 + ], + "peak_rss_mib": 186.75, + "peak_rss_samples_mib": [ + 186.75, + 186.75, + 186.75, + 186.75, + 186.75, + 186.75, + 186.75 + ] + }, + { + "fixture": "records_array_8m", + "operation": "scan", + "iterations": 8, + "engine": "node", + "repetitions": 7, + "cpu_us": 29949.625, + "cpu_samples_us": [ + 29490.5, + 31432.125, + 29992.625, + 29949.625, + 29193.75, + 29738.375, + 31340.375 + ], + "peak_rss_mib": 230.09375, + "peak_rss_samples_mib": [ + 230.390625, + 229.828125, + 230.09375, + 230.3125, + 230.046875, + 230.09375, + 230.359375 + ] + }, + { + "fixture": "records_array_8m", + "operation": "scan", + "iterations": 8, + "engine": "bun", + "repetitions": 7, + "cpu_us": 21397.125, + "cpu_samples_us": [ + 21194.5, + 21544.375, + 21368.0, + 22244.625, + 21397.125, + 22272.75, + 21279.75 + ], + "peak_rss_mib": 133.640625, + "peak_rss_samples_mib": [ + 133.640625, + 133.6875, + 133.328125, + 133.71875, + 133.6875, + 133.3125, + 133.5 + ] + }, + { + "fixture": "records_array_8m", + "operation": "roundtrip", + "iterations": 11, + "engine": "perry", + "repetitions": 7, + "cpu_us": 13112.636363636364, + "cpu_samples_us": [ + 13232.636363636364, + 13151.545454545454, + 13112.636363636364, + 13107.363636363636, + 13064.454545454546, + 13136.272727272728, + 12545.363636363636 + ], + "peak_rss_mib": 129.25, + "peak_rss_samples_mib": [ + 129.25, + 129.25, + 129.25, + 129.25, + 129.25, + 129.25, + 159.21875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "roundtrip", + "iterations": 11, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 13136.727272727272, + "cpu_samples_us": [ + 13082.0, + 13096.0, + 13130.0, + 13137.181818181818, + 13163.636363636364, + 13142.09090909091, + 13136.727272727272 + ], + "peak_rss_mib": 129.28125, + "peak_rss_samples_mib": [ + 129.28125, + 129.28125, + 129.28125, + 129.28125, + 129.28125, + 129.28125, + 129.28125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "roundtrip", + "iterations": 11, + "engine": "node", + "repetitions": 7, + "cpu_us": 36706.545454545456, + "cpu_samples_us": [ + 36642.0, + 36706.545454545456, + 36815.27272727273, + 36423.454545454544, + 37686.181818181816, + 37510.0, + 36363.27272727273 + ], + "peak_rss_mib": 267.4375, + "peak_rss_samples_mib": [ + 267.390625, + 267.4375, + 267.4375, + 267.640625, + 267.34375, + 267.5625, + 267.453125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "roundtrip", + "iterations": 11, + "engine": "bun", + "repetitions": 7, + "cpu_us": 27358.81818181818, + "cpu_samples_us": [ + 28513.636363636364, + 27885.272727272728, + 27347.909090909092, + 27313.272727272728, + 27867.272727272728, + 27330.454545454544, + 27358.81818181818 + ], + "peak_rss_mib": 147.78125, + "peak_rss_samples_mib": [ + 145.9375, + 152.765625, + 148.5, + 147.609375, + 151.34375, + 146.03125, + 147.78125 + ] + }, + { + "fixture": "records_object_8m", + "operation": "parse", + "iterations": 10, + "engine": "perry", + "repetitions": 7, + "cpu_us": 15953.2, + "cpu_samples_us": [ + 15954.6, + 15907.9, + 16045.7, + 15945.0, + 15953.2, + 15942.5, + 15964.2 + ], + "peak_rss_mib": 187.3125, + "peak_rss_samples_mib": [ + 187.3125, + 187.3125, + 187.3125, + 187.3125, + 187.3125, + 187.3125, + 187.3125 + ] + }, + { + "fixture": "records_object_8m", + "operation": "parse", + "iterations": 10, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 15925.5, + "cpu_samples_us": [ + 15953.4, + 15943.3, + 15910.9, + 15925.5, + 15919.2, + 15863.4, + 15975.7 + ], + "peak_rss_mib": 187.34375, + "peak_rss_samples_mib": [ + 187.34375, + 187.34375, + 187.34375, + 187.34375, + 187.34375, + 187.34375, + 187.34375 + ] + }, + { + "fixture": "records_object_8m", + "operation": "parse", + "iterations": 10, + "engine": "node", + "repetitions": 7, + "cpu_us": 34205.4, + "cpu_samples_us": [ + 35299.2, + 34002.7, + 35035.1, + 33090.9, + 35099.2, + 34205.4, + 33430.9 + ], + "peak_rss_mib": 244.28125, + "peak_rss_samples_mib": [ + 244.125, + 244.46875, + 244.203125, + 244.28125, + 244.203125, + 244.484375, + 244.34375 + ] + }, + { + "fixture": "records_object_8m", + "operation": "parse", + "iterations": 10, + "engine": "bun", + "repetitions": 7, + "cpu_us": 20897.4, + "cpu_samples_us": [ + 22901.6, + 20936.0, + 20849.7, + 20885.2, + 20970.4, + 20897.4, + 20894.2 + ], + "peak_rss_mib": 131.625, + "peak_rss_samples_mib": [ + 131.6875, + 131.25, + 131.8125, + 131.125, + 131.265625, + 131.8125, + 131.625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "stringify", + "iterations": 29, + "engine": "perry", + "repetitions": 7, + "cpu_us": 4769.103448275862, + "cpu_samples_us": [ + 4755.0, + 4743.482758620689, + 4772.0, + 4778.724137931034, + 4772.6551724137935, + 4767.137931034483, + 4769.103448275862 + ], + "peak_rss_mib": 121.171875, + "peak_rss_samples_mib": [ + 121.171875, + 121.171875, + 121.140625, + 121.171875, + 121.140625, + 121.171875, + 121.140625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "stringify", + "iterations": 29, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 4777.103448275862, + "cpu_samples_us": [ + 4739.310344827586, + 4819.068965517241, + 4778.379310344828, + 4772.0, + 4764.0, + 4780.758620689655, + 4777.103448275862 + ], + "peak_rss_mib": 121.1875, + "peak_rss_samples_mib": [ + 121.203125, + 121.203125, + 121.171875, + 121.171875, + 121.1875, + 121.171875, + 121.1875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "stringify", + "iterations": 29, + "engine": "node", + "repetitions": 7, + "cpu_us": 7255.517241379311, + "cpu_samples_us": [ + 7295.448275862069, + 7245.206896551724, + 7255.517241379311, + 7239.0, + 7262.9655172413795, + 7301.482758620689, + 7125.068965517241 + ], + "peak_rss_mib": 212.609375, + "peak_rss_samples_mib": [ + 212.6875, + 212.71875, + 212.578125, + 212.625, + 212.609375, + 212.5, + 212.359375 + ] + }, + { + "fixture": "records_object_8m", + "operation": "stringify", + "iterations": 29, + "engine": "bun", + "repetitions": 7, + "cpu_us": 8203.793103448275, + "cpu_samples_us": [ + 8240.758620689656, + 8160.9655172413795, + 8177.275862068966, + 8213.206896551725, + 8276.724137931034, + 8203.793103448275, + 8168.586206896552 + ], + "peak_rss_mib": 196.78125, + "peak_rss_samples_mib": [ + 216.953125, + 196.78125, + 176.53125, + 196.78125, + 217.046875, + 196.359375, + 176.578125 + ] + }, + { + "fixture": "records_array_20m", + "operation": "parse", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 39753.75, + "cpu_samples_us": [ + 39753.75, + 39764.5, + 39714.25, + 39740.75, + 39669.75, + 39870.0, + 39759.25 + ], + "peak_rss_mib": 255.40625, + "peak_rss_samples_mib": [ + 255.421875, + 255.40625, + 255.40625, + 255.40625, + 255.421875, + 255.40625, + 255.40625 + ] + }, + { + "fixture": "records_array_20m", + "operation": "parse", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 39730.5, + "cpu_samples_us": [ + 39745.25, + 39736.75, + 39730.5, + 39693.0, + 39701.25, + 39711.25, + 39850.25 + ], + "peak_rss_mib": 255.453125, + "peak_rss_samples_mib": [ + 255.453125, + 255.4375, + 255.4375, + 255.453125, + 255.4375, + 255.453125, + 255.453125 + ] + }, + { + "fixture": "records_array_20m", + "operation": "parse", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 94999.0, + "cpu_samples_us": [ + 93637.0, + 96086.5, + 94377.75, + 93113.25, + 94999.0, + 96712.75, + 97509.5 + ], + "peak_rss_mib": 359.75, + "peak_rss_samples_mib": [ + 359.90625, + 360.078125, + 359.75, + 359.828125, + 359.703125, + 359.71875, + 359.71875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "parse", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 53749.75, + "cpu_samples_us": [ + 53749.75, + 53865.25, + 53586.25, + 58691.5, + 53504.0, + 57627.75, + 53356.5 + ], + "peak_rss_mib": 220.59375, + "peak_rss_samples_mib": [ + 220.59375, + 220.328125, + 220.5625, + 237.28125, + 220.734375, + 236.890625, + 220.34375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "stringify", + "iterations": 12, + "engine": "perry", + "repetitions": 7, + "cpu_us": 11781.583333333334, + "cpu_samples_us": [ + 11826.833333333334, + 11773.75, + 11766.916666666666, + 11795.5, + 11781.083333333334, + 11799.083333333334, + 11781.583333333334 + ], + "peak_rss_mib": 235.203125, + "peak_rss_samples_mib": [ + 235.203125, + 235.1875, + 235.21875, + 235.1875, + 235.203125, + 235.203125, + 235.203125 + ] + }, + { + "fixture": "records_array_20m", + "operation": "stringify", + "iterations": 12, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 11786.083333333334, + "cpu_samples_us": [ + 11798.083333333334, + 11790.916666666666, + 11774.333333333334, + 11774.0, + 11778.0, + 11789.416666666666, + 11786.083333333334 + ], + "peak_rss_mib": 235.234375, + "peak_rss_samples_mib": [ + 235.234375, + 235.234375, + 235.265625, + 235.265625, + 235.265625, + 235.234375, + 235.234375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "stringify", + "iterations": 12, + "engine": "node", + "repetitions": 7, + "cpu_us": 17299.0, + "cpu_samples_us": [ + 17336.75, + 17310.416666666668, + 17258.0, + 17275.0, + 17259.0, + 17326.833333333332, + 17299.0 + ], + "peak_rss_mib": 459.515625, + "peak_rss_samples_mib": [ + 459.515625, + 459.671875, + 459.46875, + 459.484375, + 459.546875, + 459.484375, + 459.546875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "stringify", + "iterations": 12, + "engine": "bun", + "repetitions": 7, + "cpu_us": 20193.833333333332, + "cpu_samples_us": [ + 20193.833333333332, + 20272.0, + 20268.833333333332, + 20159.083333333332, + 20102.833333333332, + 20261.083333333332, + 20151.833333333332 + ], + "peak_rss_mib": 304.90625, + "peak_rss_samples_mib": [ + 304.828125, + 304.71875, + 304.859375, + 304.9375, + 304.90625, + 304.90625, + 304.90625 + ] + }, + { + "fixture": "records_array_20m", + "operation": "sparse", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 39663.0, + "cpu_samples_us": [ + 39663.0, + 39746.25, + 39653.5, + 39850.0, + 39657.5, + 39662.0, + 39804.25 + ], + "peak_rss_mib": 255.421875, + "peak_rss_samples_mib": [ + 255.421875, + 255.40625, + 255.421875, + 255.40625, + 255.40625, + 255.421875, + 255.421875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "sparse", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 39742.75, + "cpu_samples_us": [ + 39742.75, + 39685.25, + 39749.0, + 39733.5, + 39781.75, + 39754.5, + 39674.75 + ], + "peak_rss_mib": 255.4375, + "peak_rss_samples_mib": [ + 255.453125, + 255.4375, + 255.4375, + 255.4375, + 255.4375, + 255.4375, + 255.453125 + ] + }, + { + "fixture": "records_array_20m", + "operation": "sparse", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 94006.5, + "cpu_samples_us": [ + 93286.25, + 95146.0, + 96063.0, + 94006.5, + 92391.75, + 93588.5, + 96750.25 + ], + "peak_rss_mib": 359.96875, + "peak_rss_samples_mib": [ + 360.0625, + 360.015625, + 359.5625, + 359.796875, + 359.640625, + 359.96875, + 359.96875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "sparse", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 53582.75, + "cpu_samples_us": [ + 53551.5, + 53745.75, + 61773.0, + 53582.75, + 53578.25, + 53562.25, + 58814.0 + ], + "peak_rss_mib": 220.796875, + "peak_rss_samples_mib": [ + 220.953125, + 220.796875, + 253.015625, + 220.703125, + 220.59375, + 220.796875, + 220.546875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "scan", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 40863.25, + "cpu_samples_us": [ + 40908.75, + 40916.0, + 40800.0, + 40823.0, + 40863.25, + 40843.25, + 40873.5 + ], + "peak_rss_mib": 255.4375, + "peak_rss_samples_mib": [ + 255.421875, + 255.421875, + 255.4375, + 255.421875, + 255.4375, + 255.4375, + 255.4375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "scan", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 40806.25, + "cpu_samples_us": [ + 40806.25, + 40804.75, + 40829.75, + 40860.5, + 40824.5, + 40708.5, + 40801.25 + ], + "peak_rss_mib": 255.46875, + "peak_rss_samples_mib": [ + 255.46875, + 255.46875, + 255.46875, + 255.46875, + 255.46875, + 255.453125, + 255.46875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "scan", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 89892.5, + "cpu_samples_us": [ + 89332.5, + 90349.5, + 92320.0, + 92773.5, + 88029.25, + 89892.5, + 88249.0 + ], + "peak_rss_mib": 330.828125, + "peak_rss_samples_mib": [ + 330.828125, + 330.71875, + 330.921875, + 329.34375, + 329.828125, + 330.875, + 330.984375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "scan", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 54291.75, + "cpu_samples_us": [ + 54433.75, + 54291.75, + 53839.0, + 53698.5, + 58083.0, + 53601.25, + 54372.25 + ], + "peak_rss_mib": 225.890625, + "peak_rss_samples_mib": [ + 226.09375, + 226.125, + 223.234375, + 223.265625, + 238.5625, + 222.75, + 225.890625 + ] + }, + { + "fixture": "records_array_20m", + "operation": "roundtrip", + "iterations": 2, + "engine": "perry", + "repetitions": 7, + "cpu_us": 99293.5, + "cpu_samples_us": [ + 99236.5, + 99290.0, + 99043.0, + 99409.5, + 99293.5, + 99386.0, + 99530.0 + ], + "peak_rss_mib": 295.34375, + "peak_rss_samples_mib": [ + 295.34375, + 295.375, + 295.34375, + 295.359375, + 295.34375, + 295.34375, + 295.34375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "roundtrip", + "iterations": 2, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 99246.5, + "cpu_samples_us": [ + 99360.0, + 99147.0, + 99246.5, + 99360.5, + 99239.0, + 99292.5, + 99150.5 + ], + "peak_rss_mib": 295.375, + "peak_rss_samples_mib": [ + 295.375, + 295.375, + 295.40625, + 295.375, + 295.375, + 295.40625, + 295.375 + ] + }, + { + "fixture": "records_array_20m", + "operation": "roundtrip", + "iterations": 2, + "engine": "node", + "repetitions": 7, + "cpu_us": 103711.5, + "cpu_samples_us": [ + 105631.0, + 102656.5, + 100003.0, + 103711.5, + 104250.5, + 104818.5, + 100553.0 + ], + "peak_rss_mib": 342.125, + "peak_rss_samples_mib": [ + 341.96875, + 342.015625, + 343.828125, + 342.125, + 343.671875, + 342.0, + 343.6875 + ] + }, + { + "fixture": "records_array_20m", + "operation": "roundtrip", + "iterations": 2, + "engine": "bun", + "repetitions": 7, + "cpu_us": 77098.5, + "cpu_samples_us": [ + 77338.0, + 76999.5, + 77098.5, + 77317.5, + 77288.0, + 76576.0, + 77087.5 + ], + "peak_rss_mib": 255.96875, + "peak_rss_samples_mib": [ + 256.234375, + 256.59375, + 255.3125, + 255.96875, + 255.4375, + 255.09375, + 256.4375 + ] + }, + { + "fixture": "records_object_20m", + "operation": "parse", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 39703.5, + "cpu_samples_us": [ + 39676.75, + 39703.5, + 39653.75, + 39720.0, + 39658.5, + 39726.5, + 39820.0 + ], + "peak_rss_mib": 255.421875, + "peak_rss_samples_mib": [ + 255.40625, + 255.40625, + 255.421875, + 255.421875, + 255.421875, + 255.40625, + 255.421875 + ] + }, + { + "fixture": "records_object_20m", + "operation": "parse", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 39730.5, + "cpu_samples_us": [ + 39733.25, + 39737.25, + 39721.25, + 39668.25, + 39738.0, + 39730.5, + 39593.25 + ], + "peak_rss_mib": 255.453125, + "peak_rss_samples_mib": [ + 255.4375, + 255.453125, + 255.453125, + 255.453125, + 255.453125, + 255.453125, + 255.453125 + ] + }, + { + "fixture": "records_object_20m", + "operation": "parse", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 96283.5, + "cpu_samples_us": [ + 92880.5, + 96283.5, + 96718.75, + 99248.75, + 93594.0, + 97352.25, + 95595.5 + ], + "peak_rss_mib": 359.640625, + "peak_rss_samples_mib": [ + 359.34375, + 360.0, + 359.6875, + 359.46875, + 359.84375, + 359.53125, + 359.640625 + ] + }, + { + "fixture": "records_object_20m", + "operation": "parse", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 53623.25, + "cpu_samples_us": [ + 58992.0, + 58572.5, + 53576.0, + 53516.0, + 53623.25, + 53438.25, + 53763.75 + ], + "peak_rss_mib": 220.828125, + "peak_rss_samples_mib": [ + 237.0, + 237.015625, + 220.8125, + 221.109375, + 220.828125, + 220.625, + 220.734375 + ] + }, + { + "fixture": "records_object_20m", + "operation": "stringify", + "iterations": 12, + "engine": "perry", + "repetitions": 7, + "cpu_us": 11738.083333333334, + "cpu_samples_us": [ + 11729.666666666666, + 11763.416666666666, + 11743.333333333334, + 11738.083333333334, + 11721.5, + 11749.083333333334, + 11726.833333333334 + ], + "peak_rss_mib": 235.21875, + "peak_rss_samples_mib": [ + 235.21875, + 235.25, + 235.21875, + 235.203125, + 235.21875, + 235.234375, + 235.203125 + ] + }, + { + "fixture": "records_object_20m", + "operation": "stringify", + "iterations": 12, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 11744.666666666666, + "cpu_samples_us": [ + 11749.25, + 11741.0, + 11749.333333333334, + 11728.416666666666, + 11743.916666666666, + 11744.666666666666, + 11747.75 + ], + "peak_rss_mib": 235.25, + "peak_rss_samples_mib": [ + 235.25, + 235.25, + 235.265625, + 235.25, + 235.234375, + 235.28125, + 235.25 + ] + }, + { + "fixture": "records_object_20m", + "operation": "stringify", + "iterations": 12, + "engine": "node", + "repetitions": 7, + "cpu_us": 17292.416666666668, + "cpu_samples_us": [ + 17277.083333333332, + 17222.5, + 17303.333333333332, + 17292.416666666668, + 17366.166666666668, + 17280.25, + 17355.083333333332 + ], + "peak_rss_mib": 459.515625, + "peak_rss_samples_mib": [ + 459.453125, + 459.4375, + 459.484375, + 459.515625, + 459.640625, + 459.625, + 459.546875 + ] + }, + { + "fixture": "records_object_20m", + "operation": "stringify", + "iterations": 12, + "engine": "bun", + "repetitions": 7, + "cpu_us": 20170.666666666668, + "cpu_samples_us": [ + 20193.916666666668, + 20082.333333333332, + 20272.75, + 19942.666666666668, + 20286.75, + 20170.666666666668, + 20155.166666666668 + ], + "peak_rss_mib": 304.828125, + "peak_rss_samples_mib": [ + 304.921875, + 304.8125, + 304.796875, + 305.046875, + 304.734375, + 304.828125, + 304.921875 + ] + }, + { + "fixture": "numbers_1m", + "operation": "parse", + "iterations": 102, + "engine": "perry", + "repetitions": 7, + "cpu_us": 1582.4803921568628, + "cpu_samples_us": [ + 1586.862745098039, + 1584.9313725490197, + 1581.9607843137255, + 1582.4803921568628, + 1585.2745098039215, + 1578.078431372549, + 1582.0 + ], + "peak_rss_mib": 62.765625, + "peak_rss_samples_mib": [ + 62.765625, + 62.765625, + 62.75, + 62.765625, + 62.765625, + 62.765625, + 62.75 + ] + }, + { + "fixture": "numbers_1m", + "operation": "parse", + "iterations": 102, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 1586.264705882353, + "cpu_samples_us": [ + 1587.0980392156862, + 1582.7843137254902, + 1583.637254901961, + 1588.8921568627452, + 1586.264705882353, + 1590.5392156862745, + 1586.235294117647 + ], + "peak_rss_mib": 62.796875, + "peak_rss_samples_mib": [ + 62.796875, + 62.796875, + 62.796875, + 62.796875, + 62.796875, + 62.796875, + 62.796875 + ] + }, + { + "fixture": "numbers_1m", + "operation": "parse", + "iterations": 102, + "engine": "node", + "repetitions": 7, + "cpu_us": 3128.0196078431372, + "cpu_samples_us": [ + 3128.0196078431372, + 3130.6470588235293, + 3127.9803921568628, + 3120.107843137255, + 3120.156862745098, + 3131.3039215686276, + 3128.5 + ], + "peak_rss_mib": 104.171875, + "peak_rss_samples_mib": [ + 104.078125, + 104.171875, + 104.1875, + 104.140625, + 104.25, + 104.09375, + 104.25 + ] + }, + { + "fixture": "numbers_1m", + "operation": "parse", + "iterations": 102, + "engine": "bun", + "repetitions": 7, + "cpu_us": 3200.0196078431372, + "cpu_samples_us": [ + 3239.843137254902, + 3236.049019607843, + 3211.6470588235293, + 3186.2450980392155, + 3184.794117647059, + 3199.7156862745096, + 3200.0196078431372 + ], + "peak_rss_mib": 68.234375, + "peak_rss_samples_mib": [ + 68.234375, + 68.234375, + 68.21875, + 68.21875, + 68.203125, + 68.25, + 69.21875 + ] + }, + { + "fixture": "numbers_1m", + "operation": "stringify", + "iterations": 147, + "engine": "perry", + "repetitions": 7, + "cpu_us": 1013.7278911564625, + "cpu_samples_us": [ + 1016.0272108843537, + 1014.9387755102041, + 1012.8775510204082, + 1012.0340136054422, + 1012.8979591836735, + 1013.9115646258504, + 1013.7278911564625 + ], + "peak_rss_mib": 57.859375, + "peak_rss_samples_mib": [ + 57.828125, + 57.859375, + 57.859375, + 57.859375, + 57.859375, + 57.890625, + 57.859375 + ] + }, + { + "fixture": "numbers_1m", + "operation": "stringify", + "iterations": 147, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 1014.0612244897959, + "cpu_samples_us": [ + 1013.1156462585034, + 1013.5374149659864, + 1018.1972789115646, + 1014.0612244897959, + 1013.8163265306123, + 1015.0748299319728, + 1014.0816326530612 + ], + "peak_rss_mib": 57.859375, + "peak_rss_samples_mib": [ + 57.859375, + 57.859375, + 57.859375, + 57.859375, + 57.859375, + 57.859375, + 57.859375 + ] + }, + { + "fixture": "numbers_1m", + "operation": "stringify", + "iterations": 147, + "engine": "node", + "repetitions": 7, + "cpu_us": 1975.6802721088436, + "cpu_samples_us": [ + 1974.578231292517, + 1975.9115646258504, + 1977.5986394557824, + 1975.6802721088436, + 1976.251700680272, + 1975.0, + 1974.9183673469388 + ], + "peak_rss_mib": 113.0625, + "peak_rss_samples_mib": [ + 113.046875, + 113.140625, + 112.9375, + 113.15625, + 113.0625, + 113.0625, + 112.890625 + ] + }, + { + "fixture": "numbers_1m", + "operation": "stringify", + "iterations": 147, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2942.7551020408164, + "cpu_samples_us": [ + 2942.1428571428573, + 2942.7551020408164, + 2941.2721088435374, + 2945.074829931973, + 2945.918367346939, + 2945.5646258503402, + 2936.3401360544217 + ], + "peak_rss_mib": 74.296875, + "peak_rss_samples_mib": [ + 74.328125, + 74.265625, + 75.234375, + 74.25, + 74.28125, + 74.296875, + 74.296875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "parse", + "iterations": 2806, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.3499643620812545, + "cpu_samples_us": [ + 0.35032074126870993, + 0.3510334996436208, + 0.34782608695652173, + 0.3499643620812545, + 0.349607982893799, + 0.3481824661439772, + 0.35032074126870993 + ], + "peak_rss_mib": 16.4375, + "peak_rss_samples_mib": [ + 16.421875, + 16.4375, + 16.4375, + 16.421875, + 16.4375, + 16.4375, + 16.421875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "parse", + "iterations": 2806, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.3499643620812545, + "cpu_samples_us": [ + 0.3510334996436208, + 0.353528153955809, + 0.3499643620812545, + 0.3499643620812545, + 0.349607982893799, + 0.34925160370634356, + 0.349607982893799 + ], + "peak_rss_mib": 16.46875, + "peak_rss_samples_mib": [ + 16.46875, + 16.46875, + 16.46875, + 16.46875, + 16.46875, + 16.453125, + 16.453125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "parse", + "iterations": 2806, + "engine": "node", + "repetitions": 7, + "cpu_us": 364.8071988595866, + "cpu_samples_us": [ + 371.44048467569496, + 364.9390591589451, + 364.7188168210977, + 364.43977191732, + 369.5014255167498, + 364.18139700641484, + 364.8071988595866 + ], + "peak_rss_mib": 209.1875, + "peak_rss_samples_mib": [ + 221.640625, + 209.234375, + 209.171875, + 209.1875, + 230.96875, + 209.140625, + 209.15625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "parse", + "iterations": 2806, + "engine": "bun", + "repetitions": 7, + "cpu_us": 64.88809693513899, + "cpu_samples_us": [ + 64.6831789023521, + 64.89486813970065, + 64.88809693513899, + 64.45081967213115, + 65.16535994297934, + 64.67248752672845, + 64.94547398431932 + ], + "peak_rss_mib": 164.421875, + "peak_rss_samples_mib": [ + 158.546875, + 176.53125, + 164.453125, + 157.515625, + 168.5, + 164.421875, + 162.5625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "stringify", + "iterations": 1922, + "engine": "perry", + "repetitions": 7, + "cpu_us": 36.10353798126951, + "cpu_samples_us": [ + 35.81425598335068, + 37.823621227887614, + 36.27107180020812, + 36.507284079084286, + 34.44120707596254, + 36.10353798126951, + 34.693548387096776 + ], + "peak_rss_mib": 54.5, + "peak_rss_samples_mib": [ + 54.46875, + 54.46875, + 54.46875, + 54.5, + 54.5, + 54.5, + 54.5 + ] + }, + { + "fixture": "long_string_1m", + "operation": "stringify", + "iterations": 1922, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 36.13787721123829, + "cpu_samples_us": [ + 36.13787721123829, + 33.66181061394381, + 35.01300728407909, + 37.93652445369407, + 38.57648283038502, + 34.61290322580645, + 39.81425598335068 + ], + "peak_rss_mib": 54.5, + "peak_rss_samples_mib": [ + 54.5, + 54.53125, + 54.5, + 54.5, + 54.5, + 54.53125, + 54.5 + ] + }, + { + "fixture": "long_string_1m", + "operation": "stringify", + "iterations": 1922, + "engine": "node", + "repetitions": 7, + "cpu_us": 102.09105098855359, + "cpu_samples_us": [ + 108.49219562955255, + 102.09105098855359, + 102.03537981269511, + 101.5270551508845, + 102.63683662851197, + 101.93548387096774, + 107.31217481789803 + ], + "peak_rss_mib": 183.640625, + "peak_rss_samples_mib": [ + 183.640625, + 183.6875, + 183.625, + 183.65625, + 183.609375, + 183.625, + 183.671875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "stringify", + "iterations": 1922, + "engine": "bun", + "repetitions": 7, + "cpu_us": 95.18158168574402, + "cpu_samples_us": [ + 95.37721123829344, + 95.18158168574402, + 95.01456815816857, + 94.86732570239334, + 94.7330905306972, + 95.29812695109261, + 95.83818938605619 + ], + "peak_rss_mib": 153.65625, + "peak_rss_samples_mib": [ + 169.65625, + 159.671875, + 145.59375, + 149.625, + 143.6875, + 153.65625, + 173.6875 + ] + }, + { + "fixture": "escaped_1m", + "operation": "parse", + "iterations": 158, + "engine": "perry", + "repetitions": 7, + "cpu_us": 980.5506329113924, + "cpu_samples_us": [ + 977.8924050632911, + 979.4556962025316, + 982.367088607595, + 980.8101265822785, + 978.4746835443038, + 981.0569620253165, + 980.5506329113924 + ], + "peak_rss_mib": 58.390625, + "peak_rss_samples_mib": [ + 58.390625, + 58.390625, + 58.390625, + 58.390625, + 58.390625, + 58.390625, + 58.390625 + ] + }, + { + "fixture": "escaped_1m", + "operation": "parse", + "iterations": 158, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 980.9620253164557, + "cpu_samples_us": [ + 981.3544303797469, + 983.1582278481013, + 980.8987341772151, + 982.632911392405, + 980.9620253164557, + 977.5822784810126, + 980.2341772151899 + ], + "peak_rss_mib": 58.421875, + "peak_rss_samples_mib": [ + 58.421875, + 58.421875, + 58.421875, + 58.421875, + 58.421875, + 58.421875, + 58.421875 + ] + }, + { + "fixture": "escaped_1m", + "operation": "parse", + "iterations": 158, + "engine": "node", + "repetitions": 7, + "cpu_us": 1763.0, + "cpu_samples_us": [ + 1763.5, + 1757.740506329114, + 1763.0, + 1764.7848101265822, + 1762.632911392405, + 1761.1645569620252, + 1763.6455696202531 + ], + "peak_rss_mib": 102.625, + "peak_rss_samples_mib": [ + 102.703125, + 102.59375, + 102.625, + 102.578125, + 102.65625, + 102.53125, + 102.71875 + ] + }, + { + "fixture": "escaped_1m", + "operation": "parse", + "iterations": 158, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2073.1075949367087, + "cpu_samples_us": [ + 2073.8797468354433, + 2072.76582278481, + 2073.512658227848, + 2073.4556962025317, + 2071.9493670886077, + 2073.1075949367087, + 2071.974683544304 + ], + "peak_rss_mib": 67.890625, + "peak_rss_samples_mib": [ + 67.875, + 67.90625, + 67.890625, + 67.859375, + 67.9375, + 67.875, + 67.921875 + ] + }, + { + "fixture": "escaped_1m", + "operation": "stringify", + "iterations": 166, + "engine": "perry", + "repetitions": 7, + "cpu_us": 884.8373493975904, + "cpu_samples_us": [ + 884.8373493975904, + 884.9397590361446, + 885.4698795180723, + 884.5963855421687, + 884.7289156626506, + 885.5060240963855, + 884.7650602409639 + ], + "peak_rss_mib": 54.875, + "peak_rss_samples_mib": [ + 54.875, + 54.875, + 54.90625, + 54.875, + 54.90625, + 54.875, + 54.90625 + ] + }, + { + "fixture": "escaped_1m", + "operation": "stringify", + "iterations": 166, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 884.3253012048193, + "cpu_samples_us": [ + 885.4759036144578, + 884.5240963855422, + 884.3253012048193, + 883.8132530120482, + 884.3132530120482, + 885.3012048192771, + 884.2951807228916 + ], + "peak_rss_mib": 54.90625, + "peak_rss_samples_mib": [ + 54.90625, + 54.90625, + 54.9375, + 54.90625, + 54.90625, + 54.890625, + 54.90625 + ] + }, + { + "fixture": "escaped_1m", + "operation": "stringify", + "iterations": 166, + "engine": "node", + "repetitions": 7, + "cpu_us": 1899.879518072289, + "cpu_samples_us": [ + 1893.5361445783133, + 1904.2951807228915, + 1897.0903614457832, + 1907.8734939759036, + 1894.0180722891566, + 1929.4939759036145, + 1899.879518072289 + ], + "peak_rss_mib": 124.875, + "peak_rss_samples_mib": [ + 124.90625, + 124.875, + 124.875, + 124.765625, + 124.875, + 124.71875, + 124.796875 + ] + }, + { + "fixture": "escaped_1m", + "operation": "stringify", + "iterations": 166, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2087.397590361446, + "cpu_samples_us": [ + 2081.7831325301204, + 2082.102409638554, + 2083.246987951807, + 2089.6927710843374, + 2089.0481927710844, + 2092.590361445783, + 2087.397590361446 + ], + "peak_rss_mib": 74.796875, + "peak_rss_samples_mib": [ + 74.796875, + 77.96875, + 74.796875, + 74.859375, + 74.765625, + 74.8125, + 74.765625 + ] + }, + { + "fixture": "unicode_1m", + "operation": "parse", + "iterations": 2786, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.3492462311557789, + "cpu_samples_us": [ + 0.3499641062455133, + 0.3503230437903805, + 0.3488872936109117, + 0.3485283560660445, + 0.3499641062455133, + 0.3478104809763101, + 0.3492462311557789 + ], + "peak_rss_mib": 15.75, + "peak_rss_samples_mib": [ + 15.75, + 15.75, + 15.75, + 15.765625, + 15.75, + 15.765625, + 15.75 + ] + }, + { + "fixture": "unicode_1m", + "operation": "parse", + "iterations": 2786, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.34960516870064606, + "cpu_samples_us": [ + 0.3506819813352477, + 0.34960516870064606, + 0.3535534816941852, + 0.3488872936109117, + 0.3485283560660445, + 0.3485283560660445, + 0.3506819813352477 + ], + "peak_rss_mib": 15.78125, + "peak_rss_samples_mib": [ + 15.796875, + 15.78125, + 15.78125, + 15.796875, + 15.78125, + 15.796875, + 15.78125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "parse", + "iterations": 2786, + "engine": "node", + "repetitions": 7, + "cpu_us": 441.97056712132087, + "cpu_samples_us": [ + 442.0262024407753, + 442.2709978463747, + 440.3653984206748, + 441.9637473079684, + 441.2537688442211, + 441.97056712132087, + 442.2717157214645 + ], + "peak_rss_mib": 199.96875, + "peak_rss_samples_mib": [ + 199.96875, + 194.765625, + 209.109375, + 200.328125, + 203.671875, + 198.484375, + 194.734375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "parse", + "iterations": 2786, + "engine": "bun", + "repetitions": 7, + "cpu_us": 58.221105527638194, + "cpu_samples_us": [ + 58.221105527638194, + 58.61127063890883, + 58.39231873653984, + 58.13424264178033, + 58.179468772433594, + 58.4770279971285, + 58.201722900215366 + ], + "peak_rss_mib": 163.390625, + "peak_rss_samples_mib": [ + 156.203125, + 174.984375, + 166.953125, + 163.390625, + 158.015625, + 175.03125, + 163.34375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "stringify", + "iterations": 2475, + "engine": "perry", + "repetitions": 7, + "cpu_us": 28.706666666666667, + "cpu_samples_us": [ + 28.195555555555554, + 27.327272727272728, + 28.706666666666667, + 26.603232323232323, + 30.0020202020202, + 30.043232323232324, + 28.956363636363637 + ], + "peak_rss_mib": 53.84375, + "peak_rss_samples_mib": [ + 53.84375, + 53.875, + 53.875, + 53.84375, + 53.84375, + 53.84375, + 53.875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "stringify", + "iterations": 2475, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 27.82747474747475, + "cpu_samples_us": [ + 28.224646464646465, + 27.82747474747475, + 27.22141414141414, + 26.32969696969697, + 29.518383838383837, + 24.936161616161616, + 29.037979797979798 + ], + "peak_rss_mib": 53.875, + "peak_rss_samples_mib": [ + 53.875, + 53.859375, + 53.875, + 53.90625, + 53.875, + 53.875, + 53.90625 + ] + }, + { + "fixture": "unicode_1m", + "operation": "stringify", + "iterations": 2475, + "engine": "node", + "repetitions": 7, + "cpu_us": 410.09131313131314, + "cpu_samples_us": [ + 410.05979797979796, + 419.9870707070707, + 410.1660606060606, + 409.9010101010101, + 413.389494949495, + 407.8921212121212, + 410.09131313131314 + ], + "peak_rss_mib": 186.421875, + "peak_rss_samples_mib": [ + 186.171875, + 186.015625, + 186.421875, + 186.453125, + 203.171875, + 189.609375, + 186.421875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "stringify", + "iterations": 2475, + "engine": "bun", + "repetitions": 7, + "cpu_us": 447.9571717171717, + "cpu_samples_us": [ + 447.7171717171717, + 448.15636363636366, + 447.5652525252525, + 449.24848484848485, + 449.73777777777775, + 447.9571717171717, + 447.1652525252525 + ], + "peak_rss_mib": 152.671875, + "peak_rss_samples_mib": [ + 176.703125, + 152.671875, + 125.90625, + 149.484375, + 126.296875, + 155.359375, + 160.703125 + ] + }, + { + "fixture": "wide_1m", + "operation": "parse", + "iterations": 64, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2908.265625, + "cpu_samples_us": [ + 2915.328125, + 2906.71875, + 2913.203125, + 2902.703125, + 2908.265625, + 2918.640625, + 2907.296875 + ], + "peak_rss_mib": 227.6875, + "peak_rss_samples_mib": [ + 227.703125, + 227.6875, + 227.703125, + 227.6875, + 227.6875, + 227.6875, + 227.6875 + ] + }, + { + "fixture": "wide_1m", + "operation": "parse", + "iterations": 64, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2912.78125, + "cpu_samples_us": [ + 2904.609375, + 2916.171875, + 2902.5, + 2902.390625, + 2923.25, + 2917.140625, + 2912.78125 + ], + "peak_rss_mib": 227.71875, + "peak_rss_samples_mib": [ + 227.71875, + 227.734375, + 227.734375, + 227.71875, + 227.734375, + 227.71875, + 227.71875 + ] + }, + { + "fixture": "wide_1m", + "operation": "parse", + "iterations": 64, + "engine": "node", + "repetitions": 7, + "cpu_us": 5250.8125, + "cpu_samples_us": [ + 5250.8125, + 5253.65625, + 5253.078125, + 5243.484375, + 5247.203125, + 5230.46875, + 5298.5625 + ], + "peak_rss_mib": 121.171875, + "peak_rss_samples_mib": [ + 121.171875, + 121.140625, + 121.1875, + 121.234375, + 121.171875, + 121.125, + 121.203125 + ] + }, + { + "fixture": "wide_1m", + "operation": "parse", + "iterations": 64, + "engine": "bun", + "repetitions": 7, + "cpu_us": 4142.984375, + "cpu_samples_us": [ + 4146.109375, + 4127.359375, + 4142.984375, + 4140.390625, + 4143.28125, + 4145.671875, + 4127.40625 + ], + "peak_rss_mib": 95.09375, + "peak_rss_samples_mib": [ + 95.578125, + 95.578125, + 95.078125, + 95.078125, + 95.109375, + 95.078125, + 95.09375 + ] + }, + { + "fixture": "wide_1m", + "operation": "stringify", + "iterations": 232, + "engine": "perry", + "repetitions": 7, + "cpu_us": 634.1336206896551, + "cpu_samples_us": [ + 635.6896551724138, + 633.1163793103449, + 634.1336206896551, + 635.0560344827586, + 633.6551724137931, + 634.8879310344828, + 633.8793103448276 + ], + "peak_rss_mib": 68.625, + "peak_rss_samples_mib": [ + 68.625, + 68.625, + 68.625, + 68.625, + 68.65625, + 68.625, + 68.65625 + ] + }, + { + "fixture": "wide_1m", + "operation": "stringify", + "iterations": 232, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 634.2413793103449, + "cpu_samples_us": [ + 633.4655172413793, + 633.0301724137931, + 639.3793103448276, + 633.1379310344828, + 634.8663793103449, + 634.8663793103449, + 634.2413793103449 + ], + "peak_rss_mib": 68.6875, + "peak_rss_samples_mib": [ + 68.6875, + 68.65625, + 68.65625, + 68.6875, + 68.6875, + 68.65625, + 68.6875 + ] + }, + { + "fixture": "wide_1m", + "operation": "stringify", + "iterations": 232, + "engine": "node", + "repetitions": 7, + "cpu_us": 6334.362068965517, + "cpu_samples_us": [ + 6363.7155172413795, + 6355.413793103448, + 6316.982758620689, + 6343.8405172413795, + 6315.232758620689, + 6319.0344827586205, + 6334.362068965517 + ], + "peak_rss_mib": 117.984375, + "peak_rss_samples_mib": [ + 118.0, + 117.921875, + 117.953125, + 118.046875, + 118.03125, + 117.984375, + 117.859375 + ] + }, + { + "fixture": "wide_1m", + "operation": "stringify", + "iterations": 232, + "engine": "bun", + "repetitions": 7, + "cpu_us": 663.9870689655172, + "cpu_samples_us": [ + 663.5646551724138, + 664.6379310344828, + 663.9870689655172, + 663.5344827586207, + 664.2801724137931, + 663.3405172413793, + 665.7241379310345 + ], + "peak_rss_mib": 84.625, + "peak_rss_samples_mib": [ + 84.703125, + 84.5, + 83.421875, + 84.515625, + 84.625, + 84.75, + 85.125 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "parse", + "iterations": 142, + "engine": "perry", + "repetitions": 7, + "cpu_us": 1116.7464788732395, + "cpu_samples_us": [ + 1116.7464788732395, + 1113.225352112676, + 1117.774647887324, + 1115.6971830985915, + 1119.6338028169014, + 1116.380281690141, + 1117.661971830986 + ], + "peak_rss_mib": 62.546875, + "peak_rss_samples_mib": [ + 62.546875, + 62.546875, + 62.546875, + 62.546875, + 62.546875, + 62.546875, + 62.546875 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "parse", + "iterations": 142, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 1117.1408450704225, + "cpu_samples_us": [ + 1117.1408450704225, + 1114.3732394366198, + 1115.9647887323943, + 1123.3521126760563, + 1115.1901408450703, + 1122.3169014084508, + 1122.612676056338 + ], + "peak_rss_mib": 62.578125, + "peak_rss_samples_mib": [ + 62.578125, + 62.578125, + 62.578125, + 62.578125, + 62.578125, + 62.578125, + 62.578125 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "parse", + "iterations": 142, + "engine": "node", + "repetitions": 7, + "cpu_us": 3852.4295774647885, + "cpu_samples_us": [ + 3852.4295774647885, + 3833.288732394366, + 3859.1338028169016, + 3867.8521126760565, + 3931.169014084507, + 3835.3380281690143, + 3845.176056338028 + ], + "peak_rss_mib": 92.78125, + "peak_rss_samples_mib": [ + 92.796875, + 92.34375, + 92.84375, + 92.78125, + 92.40625, + 92.296875, + 92.828125 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "parse", + "iterations": 142, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2967.1267605633802, + "cpu_samples_us": [ + 2939.788732394366, + 2972.323943661972, + 2943.7957746478874, + 2976.4718309859154, + 2976.43661971831, + 2967.1267605633802, + 2954.1267605633802 + ], + "peak_rss_mib": 99.671875, + "peak_rss_samples_mib": [ + 99.53125, + 99.671875, + 99.859375, + 99.59375, + 99.6875, + 99.609375, + 99.6875 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "stringify", + "iterations": 218, + "engine": "perry", + "repetitions": 7, + "cpu_us": 717.7660550458716, + "cpu_samples_us": [ + 717.545871559633, + 717.7660550458716, + 719.6192660550458, + 717.7339449541284, + 717.3073394495412, + 718.4633027522935, + 717.8440366972477 + ], + "peak_rss_mib": 61.703125, + "peak_rss_samples_mib": [ + 61.71875, + 61.703125, + 61.71875, + 61.703125, + 61.703125, + 61.703125, + 61.703125 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "stringify", + "iterations": 218, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 718.6559633027523, + "cpu_samples_us": [ + 718.6559633027523, + 718.1146788990826, + 717.816513761468, + 717.5917431192661, + 719.3211009174312, + 718.7981651376147, + 719.5825688073395 + ], + "peak_rss_mib": 61.734375, + "peak_rss_samples_mib": [ + 61.75, + 61.734375, + 61.734375, + 61.734375, + 61.734375, + 61.734375, + 61.734375 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "stringify", + "iterations": 218, + "engine": "node", + "repetitions": 7, + "cpu_us": 898.1605504587156, + "cpu_samples_us": [ + 898.545871559633, + 897.6146788990826, + 898.4128440366973, + 897.8394495412844, + 898.1605504587156, + 897.4770642201835, + 901.1100917431193 + ], + "peak_rss_mib": 128.96875, + "peak_rss_samples_mib": [ + 129.1875, + 128.984375, + 128.96875, + 128.953125, + 128.921875, + 128.96875, + 129.078125 + ] + }, + { + "fixture": "heterogeneous_1m", + "operation": "stringify", + "iterations": 218, + "engine": "bun", + "repetitions": 7, + "cpu_us": 1059.440366972477, + "cpu_samples_us": [ + 1059.440366972477, + 1061.5504587155963, + 1062.697247706422, + 1062.5963302752293, + 1056.2660550458716, + 1056.5779816513761, + 1055.7064220183486 + ], + "peak_rss_mib": 104.0625, + "peak_rss_samples_mib": [ + 104.96875, + 104.953125, + 104.046875, + 104.9375, + 104.046875, + 104.0625, + 104.0 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/timing.jsonl new file mode 100644 index 0000000000..754d421450 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/timing.jsonl @@ -0,0 +1,1400 @@ +{"wall_ms": 21.253667, "user_us": 21229.0, "system_us": 28.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 477355143, "cycles": 87306299, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 34.23225, "user_us": 37801.0, "system_us": 440.0, "rss_before": 29982720.0, "rss_after": 37076992.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37486592, "instructions": 857891038, "cycles": 170146859, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 21.232666999999996, "user_us": 21226.0, "system_us": 10.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 477364598, "cycles": 87438081, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 53.40195800000001, "user_us": 54518.0, "system_us": 257.0, "rss_before": 54804480.0, "rss_after": 59637760.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60489728, "instructions": 1352678885, "cycles": 275961046, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 21.235959, "user_us": 21230.0, "system_us": 13.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 477348796, "cycles": 87374886, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 21.256625, "user_us": 21229.0, "system_us": 30.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13434880, "instructions": 477443660, "cycles": 87430770, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 34.398208, "user_us": 37978.0, "system_us": 431.0, "rss_before": 29982720.0, "rss_after": 37076992.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37486592, "instructions": 861207622, "cycles": 170880160, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 53.340208000000004, "user_us": 54405.0, "system_us": 318.0, "rss_before": 54853632.0, "rss_after": 59621376.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60375040, "instructions": 1353213146, "cycles": 276315766, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 21.26, "user_us": 21230.0, "system_us": 33.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 477395781, "cycles": 87443916, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 21.260875000000002, "user_us": 21230.0, "system_us": 34.0, "rss_before": 12255232.0, "rss_after": 12271616.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13467648, "instructions": 477370816, "cycles": 87248565, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 53.313708999999996, "user_us": 54378.0, "system_us": 300.0, "rss_before": 54837248.0, "rss_after": 59670528.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60456960, "instructions": 1353061155, "cycles": 275809560, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 34.564875, "user_us": 38137.0, "system_us": 471.0, "rss_before": 29999104.0, "rss_after": 37093376.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37502976, "instructions": 861415189, "cycles": 171294531, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 21.235625000000002, "user_us": 21226.0, "system_us": 12.0, "rss_before": 12255232.0, "rss_after": 12271616.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13467648, "instructions": 477456428, "cycles": 87645450, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 34.734583, "user_us": 38225.0, "system_us": 441.0, "rss_before": 29999104.0, "rss_after": 37060608.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37470208, "instructions": 861321510, "cycles": 171661414, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 53.31866600000001, "user_us": 54389.0, "system_us": 302.0, "rss_before": 54886400.0, "rss_after": 59654144.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60440576, "instructions": 1356605840, "cycles": 279500176, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 21.280959000000003, "user_us": 21230.0, "system_us": 54.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13434880, "instructions": 477408204, "cycles": 87635562, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 21.253833, "user_us": 21233.0, "system_us": 25.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 477287129, "cycles": 87230928, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 21.269750000000002, "user_us": 21227.0, "system_us": 46.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 477391963, "cycles": 87521978, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 33.846667, "user_us": 37419.0, "system_us": 436.0, "rss_before": 29966336.0, "rss_after": 37060608.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37470208, "instructions": 857692898, "cycles": 168770381, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 53.335249999999995, "user_us": 54383.0, "system_us": 307.0, "rss_before": 54984704.0, "rss_after": 59703296.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60489728, "instructions": 1349421637, "cycles": 272689332, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 21.247542, "user_us": 21229.0, "system_us": 22.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 477357102, "cycles": 87346826, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 34.305458, "user_us": 37889.0, "system_us": 449.0, "rss_before": 29982720.0, "rss_after": 37044224.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37453824, "instructions": 861465992, "cycles": 170709417, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 53.437999999999995, "user_us": 54519.0, "system_us": 280.0, "rss_before": 54886400.0, "rss_after": 59604992.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60391424, "instructions": 1349282138, "cycles": 273636370, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 21.232791000000002, "user_us": 21226.0, "system_us": 9.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 477391087, "cycles": 87451414, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 21.250042, "user_us": 21226.0, "system_us": 26.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 477439892, "cycles": 87272738, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 53.307416999999994, "user_us": 54368.0, "system_us": 295.0, "rss_before": 54788096.0, "rss_after": 59523072.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 60260352, "instructions": 1349454298, "cycles": 272997415, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 21.351292, "user_us": 21231.0, "system_us": 124.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 477411594, "cycles": 87780223, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 34.150333, "user_us": 37717.0, "system_us": 423.0, "rss_before": 30015488.0, "rss_after": 37109760.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 37519360, "instructions": 861315838, "cycles": 170099690, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 13.115375000000002, "user_us": 13114.0, "system_us": 5.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 315031097, "cycles": 61383615, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 13.132541, "user_us": 13114.0, "system_us": 21.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 313021020, "cycles": 61449509, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 58.209999999999994, "user_us": 56245.0, "system_us": 6287.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1119552511, "cycles": 248653919, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 52.600708999999995, "user_us": 53803.0, "system_us": 589.0, "rss_before": 55164928.0, "rss_after": 61980672.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62603264, "instructions": 1454713703, "cycles": 271588148, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 13.13225, "user_us": 13112.0, "system_us": 24.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 315093749, "cycles": 61414681, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 52.643083, "user_us": 53800.0, "system_us": 605.0, "rss_before": 55066624.0, "rss_after": 61816832.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 1457746724, "cycles": 274529187, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 13.127084, "user_us": 13117.0, "system_us": 18.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 313077789, "cycles": 61446224, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 57.992124999999994, "user_us": 56200.0, "system_us": 6168.0, "rss_before": 30294016.0, "rss_after": 135659520.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136085504, "instructions": 1115835168, "cycles": 247749456, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 57.8225, "user_us": 56273.0, "system_us": 5919.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1119695515, "cycles": 247432980, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 13.116124999999998, "user_us": 13112.0, "system_us": 8.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13680640, "instructions": 315152731, "cycles": 61388998, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 13.138209, "user_us": 13115.0, "system_us": 26.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13647872, "instructions": 313103170, "cycles": 61397142, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 52.645166999999994, "user_us": 53799.0, "system_us": 627.0, "rss_before": 55132160.0, "rss_after": 61865984.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 1456131397, "cycles": 272582072, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 52.594291999999996, "user_us": 53768.0, "system_us": 590.0, "rss_before": 55164928.0, "rss_after": 61915136.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 1455486891, "cycles": 272651039, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 13.1265, "user_us": 13115.0, "system_us": 15.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 313063686, "cycles": 61537373, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 58.15429099999999, "user_us": 56243.0, "system_us": 6283.0, "rss_before": 30277632.0, "rss_after": 135675904.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136101888, "instructions": 1116161502, "cycles": 248418300, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 13.130290999999998, "user_us": 13114.0, "system_us": 19.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13680640, "instructions": 315125391, "cycles": 61412796, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 13.128167000000001, "user_us": 13114.0, "system_us": 17.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13647872, "instructions": 313018496, "cycles": 61272883, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 58.03545799999999, "user_us": 56296.0, "system_us": 6101.0, "rss_before": 30375936.0, "rss_after": 135774208.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136200192, "instructions": 1120343681, "cycles": 248249125, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 52.652958000000005, "user_us": 53842.0, "system_us": 607.0, "rss_before": 55001088.0, "rss_after": 61800448.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62488576, "instructions": 1454912430, "cycles": 271996375, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 13.150959, "user_us": 13117.0, "system_us": 37.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13680640, "instructions": 315173921, "cycles": 61551684, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 52.678625, "user_us": 53794.0, "system_us": 636.0, "rss_before": 55164928.0, "rss_after": 61931520.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62570496, "instructions": 1457233912, "cycles": 273858162, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 58.256291, "user_us": 56272.0, "system_us": 6342.0, "rss_before": 30310400.0, "rss_after": 135708672.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1120013007, "cycles": 249137004, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 13.114583, "user_us": 13112.0, "system_us": 6.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 315048548, "cycles": 61350189, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 13.124708999999998, "user_us": 13112.0, "system_us": 16.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 313084904, "cycles": 61229494, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 13.115917, "user_us": 13111.0, "system_us": 8.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 315050958, "cycles": 61250098, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 52.619583, "user_us": 53756.0, "system_us": 593.0, "rss_before": 55083008.0, "rss_after": 61816832.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 62472192, "instructions": 1456608165, "cycles": 273277301, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 58.15924999999999, "user_us": 56260.0, "system_us": 6282.0, "rss_before": 30261248.0, "rss_after": 135626752.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 136052736, "instructions": 1115996686, "cycles": 248803048, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 13.128832999999998, "user_us": 13115.0, "system_us": 18.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 8020000.0, "retained": 0.0, "fixture": "null", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 313075957, "cycles": 61330794, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 40.91374999999999, "user_us": 44749.0, "system_us": 502.0, "rss_before": 29999104.0, "rss_after": 37470208.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37879808, "instructions": 1021595092, "cycles": 192784230, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 62.187833, "user_us": 63101.0, "system_us": 450.0, "rss_before": 54968320.0, "rss_after": 59801600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60571648, "instructions": 1532612679, "cycles": 301375791, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 25.646084, "user_us": 25610.0, "system_us": 39.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 579676357, "cycles": 101582514, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 25.658125, "user_us": 25606.0, "system_us": 55.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579656982, "cycles": 101491275, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 40.903124999999996, "user_us": 44758.0, "system_us": 489.0, "rss_before": 29966336.0, "rss_after": 37437440.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37847040, "instructions": 1021620576, "cycles": 192904017, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 25.633916, "user_us": 25607.0, "system_us": 30.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579611164, "cycles": 101288642, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 25.658499999999997, "user_us": 25609.0, "system_us": 52.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 579725899, "cycles": 101424689, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 62.041875, "user_us": 63115.0, "system_us": 295.0, "rss_before": 54935552.0, "rss_after": 59736064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60555264, "instructions": 1533612208, "cycles": 301785231, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 40.859541, "user_us": 44740.0, "system_us": 447.0, "rss_before": 29999104.0, "rss_after": 37470208.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37879808, "instructions": 1021754707, "cycles": 192823186, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 25.642834, "user_us": 25607.0, "system_us": 39.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579697755, "cycles": 101524297, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 62.169958, "user_us": 63243.0, "system_us": 287.0, "rss_before": 54919168.0, "rss_after": 59719680.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60538880, "instructions": 1535765423, "cycles": 303465925, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 25.629875, "user_us": 25608.0, "system_us": 25.0, "rss_before": 12255232.0, "rss_after": 12271616.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13467648, "instructions": 579674886, "cycles": 101651640, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 25.624708000000002, "user_us": 25607.0, "system_us": 22.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579717607, "cycles": 101479708, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 25.651333, "user_us": 25608.0, "system_us": 47.0, "rss_before": 12255232.0, "rss_after": 12271616.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13467648, "instructions": 579639054, "cycles": 101574345, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 40.888667, "user_us": 44744.0, "system_us": 475.0, "rss_before": 29999104.0, "rss_after": 37470208.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37879808, "instructions": 1021603587, "cycles": 192631042, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 62.070667, "user_us": 63141.0, "system_us": 324.0, "rss_before": 54968320.0, "rss_after": 59752448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60538880, "instructions": 1544023968, "cycles": 310016743, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 40.781583, "user_us": 44649.0, "system_us": 471.0, "rss_before": 29999104.0, "rss_after": 37453824.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37863424, "instructions": 1018049817, "cycles": 192270446, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 25.638208000000002, "user_us": 25606.0, "system_us": 36.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579782107, "cycles": 101947489, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 25.638082999999998, "user_us": 25607.0, "system_us": 34.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 579680571, "cycles": 101825241, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 62.135875, "user_us": 63238.0, "system_us": 274.0, "rss_before": 54788096.0, "rss_after": 59621376.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60456960, "instructions": 1538469396, "cycles": 305418684, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 25.655084000000002, "user_us": 25605.0, "system_us": 54.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13418496, "instructions": 579698393, "cycles": 101542041, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 25.660917, "user_us": 25612.0, "system_us": 52.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 579715002, "cycles": 101274866, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 62.04620800000001, "user_us": 63105.0, "system_us": 307.0, "rss_before": 54837248.0, "rss_after": 59654144.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60440576, "instructions": 1534318108, "cycles": 301973740, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 40.858084000000005, "user_us": 44730.0, "system_us": 473.0, "rss_before": 29982720.0, "rss_after": 37453824.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37863424, "instructions": 1021531813, "cycles": 192775044, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 25.636667, "user_us": 25607.0, "system_us": 32.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13434880, "instructions": 579608073, "cycles": 101423213, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 40.909791, "user_us": 44755.0, "system_us": 521.0, "rss_before": 29999104.0, "rss_after": 37453824.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 37863424, "instructions": 1021745882, "cycles": 192634200, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 25.660291, "user_us": 25605.0, "system_us": 58.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13451264, "instructions": 579630921, "cycles": 101607393, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 62.084625, "user_us": 63109.0, "system_us": 345.0, "rss_before": 54919168.0, "rss_after": 59736064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 60489728, "instructions": 1543598780, "cycles": 309328421, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 59.730125, "user_us": 57957.0, "system_us": 6193.0, "rss_before": 30326784.0, "rss_after": 135725056.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136151040, "instructions": 1253493621, "cycles": 253902715, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 58.318875000000006, "user_us": 59422.0, "system_us": 627.0, "rss_before": 55246848.0, "rss_after": 61964288.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62619648, "instructions": 1569365150, "cycles": 291987474, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 19.390792, "user_us": 19357.0, "system_us": 37.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 457400466, "cycles": 81518257, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 19.391125, "user_us": 19358.0, "system_us": 37.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459459064, "cycles": 81449454, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 19.380833, "user_us": 19357.0, "system_us": 28.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 457393249, "cycles": 81373679, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 59.6255, "user_us": 57942.0, "system_us": 6063.0, "rss_before": 30310400.0, "rss_after": 135675904.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136101888, "instructions": 1252260288, "cycles": 253147538, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 58.490166, "user_us": 59602.0, "system_us": 637.0, "rss_before": 55148544.0, "rss_after": 61915136.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 1566933529, "cycles": 290702428, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 19.376083, "user_us": 19356.0, "system_us": 23.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459539610, "cycles": 81816988, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 19.375667000000004, "user_us": 19357.0, "system_us": 22.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13647872, "instructions": 457351858, "cycles": 81203072, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 19.393416000000002, "user_us": 19359.0, "system_us": 38.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459429624, "cycles": 81383216, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 58.405833, "user_us": 59462.0, "system_us": 698.0, "rss_before": 55132160.0, "rss_after": 61915136.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 1576279398, "cycles": 297510693, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 59.733624999999996, "user_us": 57910.0, "system_us": 6152.0, "rss_before": 30277632.0, "rss_after": 135643136.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136069120, "instructions": 1252314149, "cycles": 253852121, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 59.651374999999994, "user_us": 57926.0, "system_us": 6115.0, "rss_before": 30294016.0, "rss_after": 135708672.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1256495103, "cycles": 253300078, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 19.374125, "user_us": 19358.0, "system_us": 20.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459508687, "cycles": 81464740, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 19.380584, "user_us": 19357.0, "system_us": 28.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 457449673, "cycles": 81248779, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 58.491499999999995, "user_us": 59577.0, "system_us": 669.0, "rss_before": 55132160.0, "rss_after": 61865984.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 1572378037, "cycles": 294972815, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 59.79391700000001, "user_us": 57943.0, "system_us": 6160.0, "rss_before": 30310400.0, "rss_after": 135725056.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136151040, "instructions": 1256276333, "cycles": 253829286, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 19.386708000000002, "user_us": 19357.0, "system_us": 33.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13647872, "instructions": 457411775, "cycles": 81433454, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 58.320583, "user_us": 59391.0, "system_us": 651.0, "rss_before": 55214080.0, "rss_after": 61964288.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62570496, "instructions": 1573830954, "cycles": 296074827, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 19.38075, "user_us": 19356.0, "system_us": 27.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459383645, "cycles": 81431368, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 19.372291, "user_us": 19357.0, "system_us": 19.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13631488, "instructions": 457388740, "cycles": 81343286, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 59.724416999999995, "user_us": 57984.0, "system_us": 6160.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1256273090, "cycles": 253467649, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 19.361708, "user_us": 19356.0, "system_us": 9.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13680640, "instructions": 459461209, "cycles": 81414460, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 58.399667, "user_us": 59531.0, "system_us": 621.0, "rss_before": 55197696.0, "rss_after": 61931520.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 1567464051, "cycles": 290855797, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 19.379709000000002, "user_us": 19356.0, "system_us": 27.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13664256, "instructions": 459364393, "cycles": 81492041, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 59.83445900000001, "user_us": 57957.0, "system_us": 6253.0, "rss_before": 30310400.0, "rss_after": 135675904.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 136101888, "instructions": 1256040279, "cycles": 253646785, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 58.381959, "user_us": 59474.0, "system_us": 655.0, "rss_before": 55148544.0, "rss_after": 61931520.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 62570496, "instructions": 1575315464, "cycles": 297179134, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 19.362916000000002, "user_us": 19357.0, "system_us": 10.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 6015000.0, "retained": 0.0, "fixture": "string_a", "iterations": 2000000, "warmup": 5000, "peak_rss": 13647872, "instructions": 457388919, "cycles": 81242964, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 47.445958, "user_us": 45610.0, "system_us": 1840.0, "rss_before": 12468224.0, "rss_after": 33161216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 941664271, "cycles": 173867234, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 88.4335, "user_us": 89516.0, "system_us": 824.0, "rss_before": 55263232.0, "rss_after": 61800448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 2080116905, "cycles": 391453085, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 47.308834, "user_us": 45538.0, "system_us": 1774.0, "rss_before": 12435456.0, "rss_after": 33177600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 941347416, "cycles": 173146802, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 43.170042, "user_us": 45449.0, "system_us": 2774.0, "rss_before": 30310400.0, "rss_after": 72024064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72433664, "instructions": 1038483078, "cycles": 202598383, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 43.106125000000006, "user_us": 45473.0, "system_us": 2686.0, "rss_before": 30310400.0, "rss_after": 72040448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72450048, "instructions": 1038210391, "cycles": 202407455, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 46.787958, "user_us": 45547.0, "system_us": 1244.0, "rss_before": 12451840.0, "rss_after": 33161216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939375835, "cycles": 171706849, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 46.792333, "user_us": 45477.0, "system_us": 1319.0, "rss_before": 12451840.0, "rss_after": 33144832.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33685504, "instructions": 939162360, "cycles": 171566029, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 88.557041, "user_us": 89487.0, "system_us": 950.0, "rss_before": 55246848.0, "rss_after": 61784064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 2084146113, "cycles": 395285600, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 46.83525, "user_us": 45416.0, "system_us": 1422.0, "rss_before": 12435456.0, "rss_after": 33177600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939213979, "cycles": 172047091, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 88.638625, "user_us": 89652.0, "system_us": 831.0, "rss_before": 55230464.0, "rss_after": 61784064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 2080455909, "cycles": 391829962, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 43.283375, "user_us": 45463.0, "system_us": 2818.0, "rss_before": 30310400.0, "rss_after": 71991296.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72400896, "instructions": 1034383715, "cycles": 203033432, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 46.791625, "user_us": 45497.0, "system_us": 1298.0, "rss_before": 12451840.0, "rss_after": 33177600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33734656, "instructions": 939207705, "cycles": 171861719, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 46.842792, "user_us": 45474.0, "system_us": 1372.0, "rss_before": 12451840.0, "rss_after": 33161216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939290979, "cycles": 171968287, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 88.451459, "user_us": 89484.0, "system_us": 807.0, "rss_before": 55148544.0, "rss_after": 61702144.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62390272, "instructions": 2078416395, "cycles": 389975210, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 43.143417, "user_us": 45494.0, "system_us": 2694.0, "rss_before": 30326784.0, "rss_after": 72007680.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72417280, "instructions": 1035204468, "cycles": 202402628, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 46.815290999999995, "user_us": 45411.0, "system_us": 1408.0, "rss_before": 12451840.0, "rss_after": 33177600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939167098, "cycles": 172106230, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 46.946833, "user_us": 45673.0, "system_us": 1277.0, "rss_before": 12435456.0, "rss_after": 33128448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33669120, "instructions": 939248237, "cycles": 171870337, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 88.485375, "user_us": 89522.0, "system_us": 781.0, "rss_before": 55230464.0, "rss_after": 61734912.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62373888, "instructions": 2075704714, "cycles": 387211276, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 43.153833, "user_us": 45501.0, "system_us": 2845.0, "rss_before": 30310400.0, "rss_after": 72024064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72433664, "instructions": 1035300778, "cycles": 202988118, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 46.963833, "user_us": 45607.0, "system_us": 1360.0, "rss_before": 12451840.0, "rss_after": 33161216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939313983, "cycles": 172233345, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 46.876291, "user_us": 45470.0, "system_us": 1410.0, "rss_before": 12451840.0, "rss_after": 33161216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33718272, "instructions": 939393990, "cycles": 172139690, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 88.44958299999999, "user_us": 89524.0, "system_us": 762.0, "rss_before": 55263232.0, "rss_after": 61800448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 2075942925, "cycles": 387466429, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 43.438874999999996, "user_us": 45635.0, "system_us": 2909.0, "rss_before": 30277632.0, "rss_after": 71958528.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72368128, "instructions": 1035682656, "cycles": 203448899, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 46.870666, "user_us": 45591.0, "system_us": 1283.0, "rss_before": 12435456.0, "rss_after": 33144832.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33685504, "instructions": 939313703, "cycles": 171972447, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 88.468458, "user_us": 89476.0, "system_us": 835.0, "rss_before": 55246848.0, "rss_after": 61800448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 2077288989, "cycles": 388859083, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 46.88775, "user_us": 45570.0, "system_us": 1325.0, "rss_before": 12468224.0, "rss_after": 33193984.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33751040, "instructions": 939236528, "cycles": 172084051, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 46.806875000000005, "user_us": 45505.0, "system_us": 1306.0, "rss_before": 12435456.0, "rss_after": 33144832.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33685504, "instructions": 939213906, "cycles": 171649064, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 43.112667, "user_us": 45524.0, "system_us": 2646.0, "rss_before": 30294016.0, "rss_after": 72007680.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72417280, "instructions": 1035480591, "cycles": 202150925, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 35.326584, "user_us": 35299.0, "system_us": 28.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764273043, "cycles": 132254891, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 60.824417000000004, "user_us": 59107.0, "system_us": 6156.0, "rss_before": 30310400.0, "rss_after": 135708672.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1328222384, "cycles": 257552767, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 62.18808299999999, "user_us": 63238.0, "system_us": 665.0, "rss_before": 55099392.0, "rss_after": 61898752.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 1671448170, "cycles": 304636986, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 35.263375, "user_us": 35212.0, "system_us": 55.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13762560, "instructions": 766348891, "cycles": 132966087, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 62.159042, "user_us": 63271.0, "system_us": 664.0, "rss_before": 55099392.0, "rss_after": 61833216.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62488576, "instructions": 1676118649, "cycles": 308163428, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 35.955458, "user_us": 35898.0, "system_us": 60.0, "rss_before": 12632064.0, "rss_after": 12648448.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13778944, "instructions": 766311459, "cycles": 134951659, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 60.917917, "user_us": 58955.0, "system_us": 6365.0, "rss_before": 30310400.0, "rss_after": 135708672.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1328106673, "cycles": 257520209, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 35.201167, "user_us": 35170.0, "system_us": 35.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764321814, "cycles": 132753917, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 60.839792, "user_us": 59000.0, "system_us": 6189.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1328203711, "cycles": 257284449, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 35.206625, "user_us": 35173.0, "system_us": 36.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764208475, "cycles": 132228606, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 35.26325, "user_us": 35215.0, "system_us": 52.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13762560, "instructions": 766328218, "cycles": 132557063, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 62.154041, "user_us": 63256.0, "system_us": 652.0, "rss_before": 55099392.0, "rss_after": 61849600.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 1667726488, "cycles": 301284389, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 62.191416000000004, "user_us": 63269.0, "system_us": 662.0, "rss_before": 55083008.0, "rss_after": 61833216.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62488576, "instructions": 1670271504, "cycles": 303480414, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 35.203624999999995, "user_us": 35173.0, "system_us": 34.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764304435, "cycles": 132307246, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 60.931166, "user_us": 59016.0, "system_us": 6274.0, "rss_before": 30310400.0, "rss_after": 135708672.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1328024898, "cycles": 257500345, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 35.294166, "user_us": 35256.0, "system_us": 42.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13762560, "instructions": 766211658, "cycles": 132479912, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 35.262666, "user_us": 35215.0, "system_us": 51.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13762560, "instructions": 766322333, "cycles": 133079172, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 62.483999999999995, "user_us": 63254.0, "system_us": 972.0, "rss_before": 55099392.0, "rss_after": 61833216.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 1671398682, "cycles": 305702384, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 60.855541, "user_us": 59044.0, "system_us": 6226.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1328167453, "cycles": 257497172, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 35.230334, "user_us": 35171.0, "system_us": 63.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764241475, "cycles": 132334390, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 62.16716699999999, "user_us": 63280.0, "system_us": 631.0, "rss_before": 55115776.0, "rss_after": 61865984.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 1672283741, "cycles": 304986665, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 35.2105, "user_us": 35171.0, "system_us": 42.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764297261, "cycles": 132358412, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 60.962625, "user_us": 59087.0, "system_us": 6217.0, "rss_before": 30408704.0, "rss_after": 135806976.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136232960, "instructions": 1325222265, "cycles": 257338015, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 35.255541, "user_us": 35216.0, "system_us": 42.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13762560, "instructions": 766238745, "cycles": 132637251, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 35.250833, "user_us": 35213.0, "system_us": 42.0, "rss_before": 12632064.0, "rss_after": 12648448.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13778944, "instructions": 766361765, "cycles": 132480562, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 60.915042, "user_us": 58959.0, "system_us": 6353.0, "rss_before": 30326784.0, "rss_after": 135708672.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136134656, "instructions": 1328253841, "cycles": 257957028, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 35.220957999999996, "user_us": 35170.0, "system_us": 54.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 13729792, "instructions": 764205501, "cycles": 132161196, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 62.194, "user_us": 63286.0, "system_us": 653.0, "rss_before": 55181312.0, "rss_after": 61997056.0, "checksum": 4010000.0, "retained": 0.0, "fixture": "empty_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62636032, "instructions": 1670486519, "cycles": 303339944, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 73.83558400000001, "user_us": 72429.0, "system_us": 1399.0, "rss_before": 12632064.0, "rss_after": 33341440.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1491741182, "cycles": 258395012, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 74.461334, "user_us": 72976.0, "system_us": 1495.0, "rss_before": 12615680.0, "rss_after": 33292288.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33832960, "instructions": 1491897435, "cycles": 260715843, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 85.083666, "user_us": 87249.0, "system_us": 2930.0, "rss_before": 30326784.0, "rss_after": 72040448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72450048, "instructions": 1964790080, "cycles": 337535264, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 161.838166, "user_us": 162652.0, "system_us": 914.0, "rss_before": 55148544.0, "rss_after": 61816832.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 3713464813, "cycles": 623277145, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 159.40224999999998, "user_us": 160339.0, "system_us": 803.0, "rss_before": 55099392.0, "rss_after": 61800448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62472192, "instructions": 3672103247, "cycles": 616806704, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 85.521042, "user_us": 87444.0, "system_us": 3060.0, "rss_before": 30326784.0, "rss_after": 72007680.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72417280, "instructions": 1968084168, "cycles": 338385213, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 73.454583, "user_us": 72154.0, "system_us": 1307.0, "rss_before": 12615680.0, "rss_after": 33325056.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491823723, "cycles": 257741321, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 73.548833, "user_us": 72247.0, "system_us": 1308.0, "rss_before": 12632064.0, "rss_after": 33308672.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491759944, "cycles": 257544094, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 73.539625, "user_us": 72193.0, "system_us": 1352.0, "rss_before": 12615680.0, "rss_after": 33292288.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33832960, "instructions": 1491844558, "cycles": 257560236, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 161.492958, "user_us": 162291.0, "system_us": 923.0, "rss_before": 55181312.0, "rss_after": 61865984.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 3700745758, "cycles": 623419787, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 73.499792, "user_us": 72209.0, "system_us": 1297.0, "rss_before": 12632064.0, "rss_after": 33292288.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33849344, "instructions": 1491674849, "cycles": 257954143, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 85.363833, "user_us": 87294.0, "system_us": 3110.0, "rss_before": 30326784.0, "rss_after": 72007680.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72417280, "instructions": 1967672632, "cycles": 337660850, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 73.380167, "user_us": 72100.0, "system_us": 1287.0, "rss_before": 12615680.0, "rss_after": 33292288.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33832960, "instructions": 1491693325, "cycles": 257245901, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 161.22129099999998, "user_us": 162142.0, "system_us": 816.0, "rss_before": 55099392.0, "rss_after": 61784064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 3698939429, "cycles": 620982237, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 73.648875, "user_us": 72258.0, "system_us": 1394.0, "rss_before": 12648448.0, "rss_after": 33308672.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491784014, "cycles": 258379728, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 85.24891600000001, "user_us": 87295.0, "system_us": 2998.0, "rss_before": 30326784.0, "rss_after": 72040448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72450048, "instructions": 1967471796, "cycles": 337762279, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 73.421959, "user_us": 72157.0, "system_us": 1271.0, "rss_before": 12632064.0, "rss_after": 33325056.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491592320, "cycles": 257340538, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 85.41050000000001, "user_us": 87367.0, "system_us": 3066.0, "rss_before": 30343168.0, "rss_after": 72040448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72450048, "instructions": 1964551735, "cycles": 338051412, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 73.81825, "user_us": 72195.0, "system_us": 1630.0, "rss_before": 12632064.0, "rss_after": 33341440.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1491851593, "cycles": 258816973, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 160.07625, "user_us": 160925.0, "system_us": 880.0, "rss_before": 55148544.0, "rss_after": 61784064.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 3688540385, "cycles": 620435343, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 73.517375, "user_us": 72184.0, "system_us": 1340.0, "rss_before": 12632064.0, "rss_after": 33325056.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491876698, "cycles": 258148049, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 85.24625, "user_us": 87357.0, "system_us": 2955.0, "rss_before": 30343168.0, "rss_after": 72073216.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72482816, "instructions": 1968158066, "cycles": 337781930, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 73.605833, "user_us": 72203.0, "system_us": 1406.0, "rss_before": 12632064.0, "rss_after": 33325056.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33882112, "instructions": 1491903379, "cycles": 258088043, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 163.867458, "user_us": 164745.0, "system_us": 857.0, "rss_before": 55246848.0, "rss_after": 61915136.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 3765241940, "cycles": 637764042, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 85.26958400000001, "user_us": 87444.0, "system_us": 2960.0, "rss_before": 30326784.0, "rss_after": 72040448.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 72450048, "instructions": 1969042955, "cycles": 338430888, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 73.63883299999999, "user_us": 72271.0, "system_us": 1375.0, "rss_before": 12615680.0, "rss_after": 33325056.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1491758324, "cycles": 258058036, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 159.055291, "user_us": 159553.0, "system_us": 1257.0, "rss_before": 55181312.0, "rss_after": 61849600.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 3657624835, "cycles": 614864128, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 73.65133399999999, "user_us": 72282.0, "system_us": 1377.0, "rss_before": 12632064.0, "rss_after": 33341440.0, "checksum": 2005000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1491834050, "cycles": 258382408, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 67.860459, "user_us": 66589.0, "system_us": 1275.0, "rss_before": 12746752.0, "rss_after": 33341440.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33882112, "instructions": 1372850234, "cycles": 239433802, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 67.914333, "user_us": 66545.0, "system_us": 1373.0, "rss_before": 12763136.0, "rss_after": 33357824.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33914880, "instructions": 1374854153, "cycles": 239948962, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 81.84266600000001, "user_us": 80041.0, "system_us": 6148.0, "rss_before": 30277632.0, "rss_after": 135675904.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136101888, "instructions": 1709945055, "cycles": 324503612, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 72.61275, "user_us": 73751.0, "system_us": 603.0, "rss_before": 55148544.0, "rss_after": 61898752.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62554112, "instructions": 1901424582, "cycles": 335451075, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 72.581333, "user_us": 73666.0, "system_us": 646.0, "rss_before": 55132160.0, "rss_after": 61833216.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62439424, "instructions": 1906321844, "cycles": 340058252, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 82.34554200000001, "user_us": 80155.0, "system_us": 6517.0, "rss_before": 30294016.0, "rss_after": 135659520.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136085504, "instructions": 1709608746, "cycles": 326411988, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 67.88320900000001, "user_us": 66587.0, "system_us": 1299.0, "rss_before": 12763136.0, "rss_after": 33341440.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1374794506, "cycles": 239749388, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 68.04325, "user_us": 66584.0, "system_us": 1462.0, "rss_before": 12746752.0, "rss_after": 33357824.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1372861807, "cycles": 240014357, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 82.002583, "user_us": 80235.0, "system_us": 6075.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1713466472, "cycles": 324465449, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 72.646042, "user_us": 73696.0, "system_us": 680.0, "rss_before": 55246848.0, "rss_after": 61980672.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62652416, "instructions": 1906885340, "cycles": 340601530, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 67.821125, "user_us": 66487.0, "system_us": 1338.0, "rss_before": 12779520.0, "rss_after": 33390592.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33947648, "instructions": 1374781335, "cycles": 239387523, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 67.71812499999999, "user_us": 66589.0, "system_us": 1133.0, "rss_before": 12746752.0, "rss_after": 33341440.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33882112, "instructions": 1372847698, "cycles": 238757181, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 81.865083, "user_us": 80211.0, "system_us": 6020.0, "rss_before": 30294016.0, "rss_after": 135659520.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136085504, "instructions": 1713101970, "cycles": 324614908, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 68.00366700000001, "user_us": 66652.0, "system_us": 1356.0, "rss_before": 12746752.0, "rss_after": 33325056.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33865728, "instructions": 1372942648, "cycles": 240018783, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 72.696167, "user_us": 73812.0, "system_us": 637.0, "rss_before": 55132160.0, "rss_after": 61882368.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 1908058904, "cycles": 341678518, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 67.89629199999999, "user_us": 66600.0, "system_us": 1300.0, "rss_before": 12763136.0, "rss_after": 33341440.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1374842817, "cycles": 239459623, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 72.54775000000001, "user_us": 73679.0, "system_us": 661.0, "rss_before": 55246848.0, "rss_after": 61997056.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62636032, "instructions": 1908135022, "cycles": 341439651, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 82.242417, "user_us": 80163.0, "system_us": 6430.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1710003264, "cycles": 325958156, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 67.801541, "user_us": 66577.0, "system_us": 1228.0, "rss_before": 12763136.0, "rss_after": 33374208.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33931264, "instructions": 1374864546, "cycles": 239480337, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 67.84175, "user_us": 66550.0, "system_us": 1295.0, "rss_before": 12746752.0, "rss_after": 33374208.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33914880, "instructions": 1372762353, "cycles": 239277768, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 82.26650000000001, "user_us": 80557.0, "system_us": 6173.0, "rss_before": 30277632.0, "rss_after": 135675904.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136101888, "instructions": 1710544618, "cycles": 325961516, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 72.586083, "user_us": 73653.0, "system_us": 669.0, "rss_before": 55181312.0, "rss_after": 61865984.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 1903411183, "cycles": 336808157, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 68.0085, "user_us": 66599.0, "system_us": 1413.0, "rss_before": 12779520.0, "rss_after": 33357824.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33914880, "instructions": 1375049785, "cycles": 240142376, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 67.892334, "user_us": 66555.0, "system_us": 1341.0, "rss_before": 12746752.0, "rss_after": 33357824.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33898496, "instructions": 1372734176, "cycles": 239382582, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 72.571, "user_us": 73670.0, "system_us": 665.0, "rss_before": 55197696.0, "rss_after": 61931520.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 62570496, "instructions": 1907010460, "cycles": 340224230, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 68.096084, "user_us": 66716.0, "system_us": 1371.0, "rss_before": 12763136.0, "rss_after": 33374208.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33931264, "instructions": 1374813008, "cycles": 240069345, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 67.797708, "user_us": 66494.0, "system_us": 1306.0, "rss_before": 12746752.0, "rss_after": 33341440.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 33882112, "instructions": 1372901900, "cycles": 239456718, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 81.77708299999999, "user_us": 80106.0, "system_us": 6057.0, "rss_before": 30294016.0, "rss_after": 135692288.0, "checksum": 14035000.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 2000000, "warmup": 5000, "peak_rss": 136118272, "instructions": 1713527779, "cycles": 324573150, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 513.858875, "user_us": 513711.0, "system_us": 2184.0, "rss_before": 57884672.0, "rss_after": 61997056.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62636032, "instructions": 10677828437, "cycles": 1763476507, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 382.97537500000004, "user_us": 383901.0, "system_us": 4552.0, "rss_before": 30965760.0, "rss_after": 83361792.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83771392, "instructions": 8208951653, "cycles": 1295878405, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 155.891167, "user_us": 151634.0, "system_us": 4261.0, "rss_before": 12910592.0, "rss_after": 82657280.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83394560, "instructions": 3094492249, "cycles": 525853596, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 155.704459, "user_us": 151428.0, "system_us": 4281.0, "rss_before": 12943360.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83443712, "instructions": 3094584442, "cycles": 524590539, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 380.48404200000004, "user_us": 381482.0, "system_us": 4452.0, "rss_before": 30982144.0, "rss_after": 83378176.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83787776, "instructions": 8208202429, "cycles": 1287935192, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 576.065791, "user_us": 575719.0, "system_us": 2334.0, "rss_before": 57966592.0, "rss_after": 61997056.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62636032, "instructions": 10840644420, "cycles": 1962697094, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 155.93050000000002, "user_us": 151586.0, "system_us": 4349.0, "rss_before": 12926976.0, "rss_after": 82673664.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83427328, "instructions": 3094560717, "cycles": 525516793, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 155.77366700000002, "user_us": 151716.0, "system_us": 4065.0, "rss_before": 12926976.0, "rss_after": 82657280.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83394560, "instructions": 3094434882, "cycles": 524990050, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 155.645958, "user_us": 151391.0, "system_us": 4262.0, "rss_before": 12943360.0, "rss_after": 82706432.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83460096, "instructions": 3094406427, "cycles": 524559026, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 527.9265, "user_us": 527831.0, "system_us": 2198.0, "rss_before": 57966592.0, "rss_after": 61980672.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62652416, "instructions": 10699840438, "cycles": 1805192167, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 155.721833, "user_us": 151312.0, "system_us": 4417.0, "rss_before": 12910592.0, "rss_after": 82657280.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83394560, "instructions": 3094535725, "cycles": 525664112, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 380.72358299999996, "user_us": 381513.0, "system_us": 4661.0, "rss_before": 30998528.0, "rss_after": 83361792.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83771392, "instructions": 8208838665, "cycles": 1288094266, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 380.602125, "user_us": 381468.0, "system_us": 4630.0, "rss_before": 30998528.0, "rss_after": 83427328.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83836928, "instructions": 8209379594, "cycles": 1288482087, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 155.818416, "user_us": 151553.0, "system_us": 4259.0, "rss_before": 12910592.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83427328, "instructions": 3094452349, "cycles": 524979113, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 572.8267910000001, "user_us": 572566.0, "system_us": 2248.0, "rss_before": 57966592.0, "rss_after": 61980672.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62619648, "instructions": 10901511588, "cycles": 1959432657, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 155.877875, "user_us": 151565.0, "system_us": 4320.0, "rss_before": 12926976.0, "rss_after": 82706432.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83460096, "instructions": 3094373872, "cycles": 525758607, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 453.89770799999997, "user_us": 454623.0, "system_us": 4769.0, "rss_before": 30998528.0, "rss_after": 83394560.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83804160, "instructions": 8208819570, "cycles": 1523285233, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 539.573167, "user_us": 539364.0, "system_us": 2248.0, "rss_before": 57884672.0, "rss_after": 61980672.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62636032, "instructions": 10898579979, "cycles": 1843477050, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 155.828, "user_us": 151456.0, "system_us": 4379.0, "rss_before": 12926976.0, "rss_after": 82706432.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83460096, "instructions": 3094483469, "cycles": 525744246, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 156.357291, "user_us": 151972.0, "system_us": 4385.0, "rss_before": 12910592.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83427328, "instructions": 3094526809, "cycles": 526369012, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 156.097375, "user_us": 151609.0, "system_us": 4495.0, "rss_before": 12943360.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83443712, "instructions": 3094938493, "cycles": 525848981, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 538.877916, "user_us": 538606.0, "system_us": 2298.0, "rss_before": 57917440.0, "rss_after": 62046208.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62685184, "instructions": 10868376804, "cycles": 1843004619, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 380.544916, "user_us": 381401.0, "system_us": 4673.0, "rss_before": 30982144.0, "rss_after": 83410944.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83820544, "instructions": 8209310557, "cycles": 1288269436, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 156.048375, "user_us": 151541.0, "system_us": 4514.0, "rss_before": 12926976.0, "rss_after": 82673664.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83410944, "instructions": 3094463083, "cycles": 526680960, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 381.524125, "user_us": 382604.0, "system_us": 4533.0, "rss_before": 30982144.0, "rss_after": 83394560.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83804160, "instructions": 8226440313, "cycles": 1290912053, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 156.156042, "user_us": 151760.0, "system_us": 4403.0, "rss_before": 12943360.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83443712, "instructions": 3094629039, "cycles": 527399186, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 510.49800000000005, "user_us": 510507.0, "system_us": 2196.0, "rss_before": 56590336.0, "rss_after": 61898752.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 62504960, "instructions": 10623040579, "cycles": 1756907158, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 156.046791, "user_us": 151495.0, "system_us": 4555.0, "rss_before": 12910592.0, "rss_after": 82690048.0, "checksum": 1586369.0, "retained": 0.0, "fixture": "small_record", "iterations": 1581369, "warmup": 5000, "peak_rss": 83427328, "instructions": 3094658979, "cycles": 525672752, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 234.498167, "user_us": 217501.0, "system_us": 21608.0, "rss_before": 30965760.0, "rss_after": 396722176.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397131776, "instructions": 5001317454, "cycles": 816024281, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 92.262833, "user_us": 90717.0, "system_us": 1549.0, "rss_before": 13287424.0, "rss_after": 34455552.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1631493502, "cycles": 316746573, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 213.944416, "user_us": 214481.0, "system_us": 1656.0, "rss_before": 56344576.0, "rss_after": 61980672.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62603264, "instructions": 4763189648, "cycles": 793041770, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 91.35825, "user_us": 89865.0, "system_us": 1497.0, "rss_before": 13254656.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34947072, "instructions": 1628515267, "cycles": 314557859, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 214.15087499999998, "user_us": 214979.0, "system_us": 1285.0, "rss_before": 56328192.0, "rss_after": 61980672.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62668800, "instructions": 4765342458, "cycles": 794931583, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 91.51866600000001, "user_us": 89907.0, "system_us": 1615.0, "rss_before": 13254656.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34947072, "instructions": 1628419852, "cycles": 314925877, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 233.81854199999998, "user_us": 216965.0, "system_us": 21436.0, "rss_before": 30949376.0, "rss_after": 396705792.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397115392, "instructions": 5001418184, "cycles": 813290768, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 91.831041, "user_us": 90237.0, "system_us": 1590.0, "rss_before": 13271040.0, "rss_after": 34422784.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1630535931, "cycles": 315719568, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 92.10370900000001, "user_us": 90489.0, "system_us": 1618.0, "rss_before": 13254656.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34947072, "instructions": 1629130175, "cycles": 317341633, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 213.85108300000002, "user_us": 214551.0, "system_us": 1388.0, "rss_before": 56262656.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62619648, "instructions": 4765382053, "cycles": 793643352, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 91.39000000000001, "user_us": 89934.0, "system_us": 1460.0, "rss_before": 13271040.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34963456, "instructions": 1630327140, "cycles": 314275770, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 234.037625, "user_us": 217314.0, "system_us": 21295.0, "rss_before": 30965760.0, "rss_after": 396705792.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397115392, "instructions": 4999117123, "cycles": 814673784, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 91.41975, "user_us": 89807.0, "system_us": 1617.0, "rss_before": 13254656.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34947072, "instructions": 1628290632, "cycles": 314593458, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 214.22445800000003, "user_us": 214704.0, "system_us": 1566.0, "rss_before": 56328192.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 4770556427, "cycles": 800234534, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 91.604917, "user_us": 90139.0, "system_us": 1469.0, "rss_before": 13271040.0, "rss_after": 34422784.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1630236774, "cycles": 315711337, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 233.86891599999998, "user_us": 217115.0, "system_us": 21275.0, "rss_before": 30965760.0, "rss_after": 396705792.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397115392, "instructions": 5002641095, "cycles": 813629167, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 213.909958, "user_us": 214647.0, "system_us": 1314.0, "rss_before": 56377344.0, "rss_after": 61997056.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62652416, "instructions": 4765559975, "cycles": 794005376, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 91.333, "user_us": 89917.0, "system_us": 1420.0, "rss_before": 13254656.0, "rss_after": 34439168.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1628147003, "cycles": 314418753, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 234.81425000000002, "user_us": 217439.0, "system_us": 21851.0, "rss_before": 30982144.0, "rss_after": 396722176.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397131776, "instructions": 5000255433, "cycles": 815822766, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 91.329167, "user_us": 89882.0, "system_us": 1450.0, "rss_before": 13271040.0, "rss_after": 34422784.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1630324932, "cycles": 314286109, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 234.309958, "user_us": 217265.0, "system_us": 21574.0, "rss_before": 31014912.0, "rss_after": 396722176.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397131776, "instructions": 5000184646, "cycles": 815425583, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 91.29570900000002, "user_us": 89886.0, "system_us": 1413.0, "rss_before": 13271040.0, "rss_after": 34439168.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1628130146, "cycles": 313974835, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 91.87925, "user_us": 90265.0, "system_us": 1605.0, "rss_before": 13271040.0, "rss_after": 34422784.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34979840, "instructions": 1630454427, "cycles": 315472846, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 213.584584, "user_us": 214323.0, "system_us": 1397.0, "rss_before": 56262656.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62603264, "instructions": 4771602843, "cycles": 798661154, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 92.144709, "user_us": 90558.0, "system_us": 1591.0, "rss_before": 13271040.0, "rss_after": 34406400.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 34947072, "instructions": 1629078950, "cycles": 317246706, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 234.5545, "user_us": 217466.0, "system_us": 21679.0, "rss_before": 30965760.0, "rss_after": 396738560.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397148160, "instructions": 5000876721, "cycles": 815551916, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 91.9585, "user_us": 90429.0, "system_us": 1533.0, "rss_before": 13271040.0, "rss_after": 34455552.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1630941148, "cycles": 316135964, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 213.88825, "user_us": 214696.0, "system_us": 1320.0, "rss_before": 56344576.0, "rss_after": 61980672.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62668800, "instructions": 4763035313, "cycles": 792239186, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 160.91699999999997, "user_us": 157439.0, "system_us": 3485.0, "rss_before": 12615680.0, "rss_after": 66781184.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68059136, "instructions": 3258789304, "cycles": 548323432, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 1046.870625, "user_us": 1045383.0, "system_us": 5994.0, "rss_before": 58621952.0, "rss_after": 64159744.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64847872, "instructions": 18533047343, "cycles": 3475223063, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 437.591459, "user_us": 427957.0, "system_us": 18507.0, "rss_before": 35897344.0, "rss_after": 74317824.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74727424, "instructions": 7175987307, "cycles": 1478713093, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 160.86004200000002, "user_us": 157551.0, "system_us": 3314.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258841332, "cycles": 548415061, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 161.17737499999998, "user_us": 157956.0, "system_us": 3225.0, "rss_before": 12632064.0, "rss_after": 66813952.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68091904, "instructions": 3258688265, "cycles": 549027928, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 437.244333, "user_us": 427866.0, "system_us": 18055.0, "rss_before": 35897344.0, "rss_after": 74317824.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74727424, "instructions": 7174541051, "cycles": 1477405934, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 1037.0096250000001, "user_us": 1035042.0, "system_us": 6517.0, "rss_before": 58654720.0, "rss_after": 64241664.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64897024, "instructions": 18505304847, "cycles": 3443771742, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 160.994833, "user_us": 157625.0, "system_us": 3374.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258748114, "cycles": 548425619, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 160.731042, "user_us": 157418.0, "system_us": 3319.0, "rss_before": 12615680.0, "rss_after": 66813952.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68091904, "instructions": 3258732768, "cycles": 547782708, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 160.774375, "user_us": 157468.0, "system_us": 3313.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258724754, "cycles": 548204111, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 437.710416, "user_us": 427813.0, "system_us": 18561.0, "rss_before": 35897344.0, "rss_after": 74285056.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74694656, "instructions": 7173504783, "cycles": 1477948215, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 1040.2402499999998, "user_us": 1038361.0, "system_us": 6387.0, "rss_before": 58572800.0, "rss_after": 64045056.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64667648, "instructions": 18540232264, "cycles": 3450370360, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 160.708542, "user_us": 157533.0, "system_us": 3183.0, "rss_before": 12615680.0, "rss_after": 66813952.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68091904, "instructions": 3258677316, "cycles": 547313156, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 160.663208, "user_us": 157385.0, "system_us": 3283.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258708590, "cycles": 547187175, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 1039.6185, "user_us": 1037927.0, "system_us": 6094.0, "rss_before": 58540032.0, "rss_after": 64045056.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64634880, "instructions": 18501549907, "cycles": 3447601604, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 439.339959, "user_us": 429422.0, "system_us": 18935.0, "rss_before": 35930112.0, "rss_after": 74350592.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74760192, "instructions": 7175224395, "cycles": 1484668719, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 1038.4891659999998, "user_us": 1036830.0, "system_us": 6058.0, "rss_before": 58638336.0, "rss_after": 64208896.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64847872, "instructions": 18506247340, "cycles": 3448390074, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 161.144625, "user_us": 157823.0, "system_us": 3328.0, "rss_before": 12615680.0, "rss_after": 66781184.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68059136, "instructions": 3258823488, "cycles": 549583295, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 160.878458, "user_us": 157552.0, "system_us": 3328.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3259052834, "cycles": 547929791, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 436.929916, "user_us": 427042.0, "system_us": 18714.0, "rss_before": 35930112.0, "rss_after": 74301440.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74711040, "instructions": 7174446494, "cycles": 1476654814, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 436.465709, "user_us": 427272.0, "system_us": 18019.0, "rss_before": 35913728.0, "rss_after": 74334208.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74743808, "instructions": 7175371178, "cycles": 1474115052, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 160.914917, "user_us": 157583.0, "system_us": 3337.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258743003, "cycles": 548112956, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 160.619333, "user_us": 157441.0, "system_us": 3186.0, "rss_before": 12632064.0, "rss_after": 66813952.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68091904, "instructions": 3258889202, "cycles": 547173082, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 1042.036625, "user_us": 1040082.0, "system_us": 6370.0, "rss_before": 58638336.0, "rss_after": 64274432.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64929792, "instructions": 18543664218, "cycles": 3457667069, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 161.127375, "user_us": 157579.0, "system_us": 3556.0, "rss_before": 12632064.0, "rss_after": 66830336.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68124672, "instructions": 3258800722, "cycles": 549329970, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 160.91604099999998, "user_us": 157617.0, "system_us": 3301.0, "rss_before": 12615680.0, "rss_after": 66781184.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 68059136, "instructions": 3258773245, "cycles": 547926800, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 437.33104199999997, "user_us": 427577.0, "system_us": 18660.0, "rss_before": 35913728.0, "rss_after": 74334208.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 74743808, "instructions": 7175438204, "cycles": 1477172260, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 1038.9076249999998, "user_us": 1037145.0, "system_us": 6123.0, "rss_before": 58638336.0, "rss_after": 64241664.0, "checksum": 1966848.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1961848, "warmup": 5000, "peak_rss": 64897024, "instructions": 18499013893, "cycles": 3444771967, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 211.274292, "user_us": 207997.0, "system_us": 10299.0, "rss_before": 35618816.0, "rss_after": 73859072.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74268672, "instructions": 3158218892, "cycles": 748471355, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 119.83075, "user_us": 118325.0, "system_us": 1511.0, "rss_before": 17989632.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2014021100, "cycles": 406672692, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 197.787334, "user_us": 198522.0, "system_us": 2299.0, "rss_before": 57311232.0, "rss_after": 64126976.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64765952, "instructions": 4322843328, "cycles": 746721769, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 119.5385, "user_us": 118023.0, "system_us": 1520.0, "rss_before": 17989632.0, "rss_after": 34422784.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34963456, "instructions": 2012823146, "cycles": 406232175, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 119.523541, "user_us": 118053.0, "system_us": 1479.0, "rss_before": 17989632.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2013777074, "cycles": 405998810, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 212.31375, "user_us": 208877.0, "system_us": 10491.0, "rss_before": 35618816.0, "rss_after": 73940992.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74350592, "instructions": 3159627081, "cycles": 751690713, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 119.548709, "user_us": 118092.0, "system_us": 1461.0, "rss_before": 17989632.0, "rss_after": 34422784.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34963456, "instructions": 2012823528, "cycles": 406325925, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 197.561708, "user_us": 198303.0, "system_us": 2234.0, "rss_before": 57327616.0, "rss_after": 64274432.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64913408, "instructions": 4320566665, "cycles": 743873068, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 198.468084, "user_us": 199160.0, "system_us": 2289.0, "rss_before": 57360384.0, "rss_after": 64258048.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64913408, "instructions": 4326722417, "cycles": 751876715, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 119.98275, "user_us": 118453.0, "system_us": 1537.0, "rss_before": 17973248.0, "rss_after": 34422784.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34963456, "instructions": 2012745289, "cycles": 407946442, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 212.93175000000002, "user_us": 209013.0, "system_us": 11168.0, "rss_before": 35602432.0, "rss_after": 73924608.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74334208, "instructions": 3157791654, "cycles": 754491519, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 119.272375, "user_us": 117914.0, "system_us": 1366.0, "rss_before": 17989632.0, "rss_after": 34471936.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 35028992, "instructions": 2013678979, "cycles": 405416444, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 195.570708, "user_us": 196246.0, "system_us": 2338.0, "rss_before": 57262080.0, "rss_after": 64159744.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64798720, "instructions": 4284407438, "cycles": 742484216, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 119.82991700000001, "user_us": 118375.0, "system_us": 1463.0, "rss_before": 17989632.0, "rss_after": 34422784.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34963456, "instructions": 2012959461, "cycles": 407008945, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 211.944709, "user_us": 208495.0, "system_us": 10544.0, "rss_before": 35586048.0, "rss_after": 73891840.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74301440, "instructions": 3156751192, "cycles": 751366294, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 119.009042, "user_us": 117532.0, "system_us": 1482.0, "rss_before": 17989632.0, "rss_after": 34455552.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 35012608, "instructions": 2013604287, "cycles": 404694823, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 120.167083, "user_us": 118615.0, "system_us": 1557.0, "rss_before": 17989632.0, "rss_after": 34422784.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34963456, "instructions": 2013292402, "cycles": 407866194, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 119.52437499999999, "user_us": 118175.0, "system_us": 1355.0, "rss_before": 18006016.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2013958948, "cycles": 406332669, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 211.90654199999997, "user_us": 208451.0, "system_us": 10450.0, "rss_before": 35618816.0, "rss_after": 73891840.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74301440, "instructions": 3156955971, "cycles": 750803277, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 198.58095799999998, "user_us": 199260.0, "system_us": 2303.0, "rss_before": 57360384.0, "rss_after": 64208896.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64864256, "instructions": 4322319546, "cycles": 748451858, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 119.43795899999999, "user_us": 117966.0, "system_us": 1477.0, "rss_before": 17973248.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34979840, "instructions": 2012462923, "cycles": 405905569, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 118.99725000000001, "user_us": 117496.0, "system_us": 1511.0, "rss_before": 18006016.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2013814307, "cycles": 404357918, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 211.926041, "user_us": 208508.0, "system_us": 10409.0, "rss_before": 35635200.0, "rss_after": 73957376.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74366976, "instructions": 3159196252, "cycles": 750910190, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 195.302292, "user_us": 196026.0, "system_us": 2296.0, "rss_before": 57294848.0, "rss_after": 64208896.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64864256, "instructions": 4283366093, "cycles": 739920087, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 119.17358300000001, "user_us": 117727.0, "system_us": 1451.0, "rss_before": 18006016.0, "rss_after": 34439168.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2013681616, "cycles": 404991631, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 119.702625, "user_us": 118244.0, "system_us": 1466.0, "rss_before": 17989632.0, "rss_after": 34455552.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 34996224, "instructions": 2012746489, "cycles": 406317539, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 197.594458, "user_us": 198199.0, "system_us": 2419.0, "rss_before": 57262080.0, "rss_after": 64176128.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 64847872, "instructions": 4331288613, "cycles": 753203572, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 212.46479200000002, "user_us": 208575.0, "system_us": 10877.0, "rss_before": 35618816.0, "rss_after": 73940992.0, "checksum": 1063746207.0, "retained": 0.0, "fixture": "object_1k", "iterations": 1036867, "warmup": 5000, "peak_rss": 74350592, "instructions": 3158636529, "cycles": 752199326, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 153.294916, "user_us": 143132.0, "system_us": 10167.0, "rss_before": 12517376.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667524277, "cycles": 510877900, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 153.38633299999998, "user_us": 143163.0, "system_us": 10230.0, "rss_before": 12533760.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667614881, "cycles": 511391222, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 468.841959, "user_us": 468735.0, "system_us": 2396.0, "rss_before": 55017472.0, "rss_after": 68419584.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69074944, "instructions": 7365241234, "cycles": 1607295991, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 380.452209, "user_us": 377526.0, "system_us": 4276.0, "rss_before": 29802496.0, "rss_after": 73662464.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74072064, "instructions": 7351727577, "cycles": 1270758783, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 448.2495, "user_us": 448159.0, "system_us": 2348.0, "rss_before": 55050240.0, "rss_after": 68403200.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69091328, "instructions": 7402137604, "cycles": 1545059589, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 380.29987500000004, "user_us": 377613.0, "system_us": 3972.0, "rss_before": 29802496.0, "rss_after": 73695232.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74104832, "instructions": 7353383206, "cycles": 1270307066, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 153.063042, "user_us": 143177.0, "system_us": 9891.0, "rss_before": 12533760.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667033518, "cycles": 510189974, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 153.047584, "user_us": 143179.0, "system_us": 9875.0, "rss_before": 12533760.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667228978, "cycles": 510255127, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 153.798708, "user_us": 143497.0, "system_us": 10305.0, "rss_before": 12533760.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667482938, "cycles": 512116690, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 380.015875, "user_us": 377056.0, "system_us": 4143.0, "rss_before": 29786112.0, "rss_after": 73613312.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74022912, "instructions": 7353085176, "cycles": 1269074833, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 153.85375, "user_us": 143403.0, "system_us": 10454.0, "rss_before": 12517376.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667214921, "cycles": 512425283, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 424.53525, "user_us": 424682.0, "system_us": 2101.0, "rss_before": 55001088.0, "rss_after": 68403200.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69058560, "instructions": 7360725789, "cycles": 1471649939, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 153.936334, "user_us": 143256.0, "system_us": 10687.0, "rss_before": 12550144.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667678535, "cycles": 513423257, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 380.54925, "user_us": 377756.0, "system_us": 4032.0, "rss_before": 29786112.0, "rss_after": 73662464.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74072064, "instructions": 7352482359, "cycles": 1270584789, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 434.916166, "user_us": 434797.0, "system_us": 2360.0, "rss_before": 54984704.0, "rss_after": 68386816.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69091328, "instructions": 7366066211, "cycles": 1500112836, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 153.09987500000003, "user_us": 143197.0, "system_us": 9907.0, "rss_before": 12517376.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667237769, "cycles": 510928259, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 153.385334, "user_us": 143208.0, "system_us": 10183.0, "rss_before": 12517376.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667473500, "cycles": 511117747, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 379.905125, "user_us": 377351.0, "system_us": 3829.0, "rss_before": 29802496.0, "rss_after": 73678848.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74088448, "instructions": 7353753862, "cycles": 1268873377, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 153.23925, "user_us": 143156.0, "system_us": 10090.0, "rss_before": 12533760.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667299056, "cycles": 510952235, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 476.501041, "user_us": 476271.0, "system_us": 2522.0, "rss_before": 55050240.0, "rss_after": 68419584.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69074944, "instructions": 7377698425, "cycles": 1634577178, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 464.48145800000003, "user_us": 464548.0, "system_us": 2235.0, "rss_before": 55033856.0, "rss_after": 68370432.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 68976640, "instructions": 7373810888, "cycles": 1595575641, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 380.486334, "user_us": 377621.0, "system_us": 4145.0, "rss_before": 29802496.0, "rss_after": 73629696.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74039296, "instructions": 7353147905, "cycles": 1271034675, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 153.338625, "user_us": 143200.0, "system_us": 10145.0, "rss_before": 12533760.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667250505, "cycles": 511334402, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 153.619, "user_us": 143391.0, "system_us": 10231.0, "rss_before": 12550144.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667076918, "cycles": 511591079, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 153.32458300000002, "user_us": 143215.0, "system_us": 10116.0, "rss_before": 12533760.0, "rss_after": 66011136.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66502656, "instructions": 2667454219, "cycles": 511122920, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 380.136709, "user_us": 377379.0, "system_us": 4091.0, "rss_before": 29786112.0, "rss_after": 73678848.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 74088448, "instructions": 7353774345, "cycles": 1269653325, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 459.265209, "user_us": 459336.0, "system_us": 2153.0, "rss_before": 55050240.0, "rss_after": 68419584.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 69074944, "instructions": 7351123363, "cycles": 1574988364, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 153.385167, "user_us": 143252.0, "system_us": 10139.0, "rss_before": 12550144.0, "rss_after": 66043904.0, "checksum": 11286.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 11284, "warmup": 2, "peak_rss": 66551808, "instructions": 2667312536, "cycles": 511560004, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 142.33162499999997, "user_us": 140837.0, "system_us": 1498.0, "rss_before": 12763136.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700568683, "cycles": 476706343, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 299.900833, "user_us": 296843.0, "system_us": 3849.0, "rss_before": 29933568.0, "rss_after": 74137600.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74530816, "instructions": 5683618001, "cycles": 1011330897, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 142.301792, "user_us": 140754.0, "system_us": 1551.0, "rss_before": 12779520.0, "rss_after": 34668544.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35209216, "instructions": 2700613659, "cycles": 477151918, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 167.82583400000001, "user_us": 168708.0, "system_us": 1218.0, "rss_before": 55197696.0, "rss_after": 64290816.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64946176, "instructions": 3184942235, "cycles": 642845454, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 141.56325, "user_us": 140110.0, "system_us": 1457.0, "rss_before": 12763136.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700574945, "cycles": 474473917, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 168.94495799999999, "user_us": 169829.0, "system_us": 1247.0, "rss_before": 55214080.0, "rss_after": 64290816.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64962560, "instructions": 3182659147, "cycles": 644454213, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 298.992167, "user_us": 296212.0, "system_us": 3621.0, "rss_before": 29949952.0, "rss_after": 74137600.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74530816, "instructions": 5683874643, "cycles": 1008291136, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 142.043792, "user_us": 140672.0, "system_us": 1375.0, "rss_before": 12779520.0, "rss_after": 34635776.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35176448, "instructions": 2700605192, "cycles": 476094271, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 142.373542, "user_us": 140961.0, "system_us": 1404.0, "rss_before": 12795904.0, "rss_after": 34668544.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35209216, "instructions": 2700595878, "cycles": 476568026, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 298.667125, "user_us": 296063.0, "system_us": 3447.0, "rss_before": 29933568.0, "rss_after": 74104832.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74498048, "instructions": 5683987418, "cycles": 1007869319, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 168.655, "user_us": 169628.0, "system_us": 1146.0, "rss_before": 55164928.0, "rss_after": 64241664.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64946176, "instructions": 3184197837, "cycles": 645854673, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 142.768542, "user_us": 141370.0, "system_us": 1402.0, "rss_before": 12779520.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700639710, "cycles": 478246809, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 168.732416, "user_us": 169699.0, "system_us": 1162.0, "rss_before": 55083008.0, "rss_after": 64225280.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64929792, "instructions": 3185298237, "cycles": 645784548, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 143.15404099999998, "user_us": 141706.0, "system_us": 1442.0, "rss_before": 12763136.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700626670, "cycles": 479201931, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 298.98904200000004, "user_us": 296249.0, "system_us": 3569.0, "rss_before": 29900800.0, "rss_after": 74088448.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74481664, "instructions": 5683537979, "cycles": 1008858037, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 141.594958, "user_us": 140118.0, "system_us": 1481.0, "rss_before": 12795904.0, "rss_after": 34635776.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35176448, "instructions": 2700720361, "cycles": 474647646, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 141.16625, "user_us": 139689.0, "system_us": 1480.0, "rss_before": 12779520.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700575702, "cycles": 472761545, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 299.053, "user_us": 296193.0, "system_us": 3633.0, "rss_before": 29949952.0, "rss_after": 74104832.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74498048, "instructions": 5683685101, "cycles": 1008691772, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 142.547041, "user_us": 141137.0, "system_us": 1407.0, "rss_before": 12779520.0, "rss_after": 34635776.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35176448, "instructions": 2700468319, "cycles": 477195940, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 169.323708, "user_us": 170175.0, "system_us": 1288.0, "rss_before": 55066624.0, "rss_after": 64208896.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64831488, "instructions": 3185204842, "cycles": 648185645, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 142.52941700000002, "user_us": 141102.0, "system_us": 1431.0, "rss_before": 12779520.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35160064, "instructions": 2700461022, "cycles": 477372006, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 143.131209, "user_us": 141629.0, "system_us": 1506.0, "rss_before": 12763136.0, "rss_after": 34619392.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35143680, "instructions": 2700629117, "cycles": 478905412, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 168.585125, "user_us": 169444.0, "system_us": 1303.0, "rss_before": 55017472.0, "rss_after": 64192512.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64880640, "instructions": 3183298574, "cycles": 643798977, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 299.958167, "user_us": 296976.0, "system_us": 3697.0, "rss_before": 29933568.0, "rss_after": 74088448.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74481664, "instructions": 5683476625, "cycles": 1011166443, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 141.312625, "user_us": 139871.0, "system_us": 1445.0, "rss_before": 12795904.0, "rss_after": 34635776.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35176448, "instructions": 2700572984, "cycles": 473864579, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 142.404791, "user_us": 140892.0, "system_us": 1517.0, "rss_before": 12763136.0, "rss_after": 34603008.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 35127296, "instructions": 2700635447, "cycles": 477456097, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 168.24054199999998, "user_us": 169082.0, "system_us": 1287.0, "rss_before": 55099392.0, "rss_after": 64225280.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 64880640, "instructions": 3186418781, "cycles": 644924871, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 299.52329100000003, "user_us": 296669.0, "system_us": 3664.0, "rss_before": 29933568.0, "rss_after": 74121216.0, "checksum": 169360227.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 12949, "warmup": 2, "peak_rss": 74514432, "instructions": 5684197668, "cycles": 1011100417, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 304.167958, "user_us": 304733.0, "system_us": 1800.0, "rss_before": 55033856.0, "rss_after": 68550656.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69238784, "instructions": 5241328044, "cycles": 1084229365, "engine": "node", "operation": "sparse", "rep": 0} +{"wall_ms": 157.270125, "user_us": 145850.0, "system_us": 11423.0, "rss_before": 12992512.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75759616, "instructions": 2575471497, "cycles": 525430227, "engine": "baseline", "operation": "sparse", "rep": 0} +{"wall_ms": 157.136125, "user_us": 145670.0, "system_us": 11470.0, "rss_before": 12992512.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75743232, "instructions": 2575514418, "cycles": 524634905, "engine": "perry", "operation": "sparse", "rep": 0} +{"wall_ms": 265.916292, "user_us": 263380.0, "system_us": 3648.0, "rss_before": 29786112.0, "rss_after": 73646080.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74055680, "instructions": 5172505433, "cycles": 903718059, "engine": "bun", "operation": "sparse", "rep": 0} +{"wall_ms": 157.58933399999998, "user_us": 145959.0, "system_us": 11629.0, "rss_before": 12992512.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575243312, "cycles": 526252882, "engine": "perry", "operation": "sparse", "rep": 1} +{"wall_ms": 317.21908299999996, "user_us": 317706.0, "system_us": 1880.0, "rss_before": 55050240.0, "rss_after": 68632576.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69320704, "instructions": 5238438826, "cycles": 1122368648, "engine": "node", "operation": "sparse", "rep": 1} +{"wall_ms": 266.01183299999997, "user_us": 263468.0, "system_us": 3550.0, "rss_before": 29802496.0, "rss_after": 73662464.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74072064, "instructions": 5172429310, "cycles": 903372101, "engine": "bun", "operation": "sparse", "rep": 1} +{"wall_ms": 157.117166, "user_us": 145758.0, "system_us": 11362.0, "rss_before": 13008896.0, "rss_after": 75235328.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75776000, "instructions": 2575244171, "cycles": 525007030, "engine": "baseline", "operation": "sparse", "rep": 1} +{"wall_ms": 266.229417, "user_us": 263505.0, "system_us": 3783.0, "rss_before": 29786112.0, "rss_after": 73662464.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74072064, "instructions": 5171742944, "cycles": 904225990, "engine": "bun", "operation": "sparse", "rep": 2} +{"wall_ms": 309.871708, "user_us": 310434.0, "system_us": 1791.0, "rss_before": 55050240.0, "rss_after": 68632576.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69304320, "instructions": 5253004947, "cycles": 1098690072, "engine": "node", "operation": "sparse", "rep": 2} +{"wall_ms": 157.114, "user_us": 145880.0, "system_us": 11239.0, "rss_before": 12992512.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575627663, "cycles": 524738888, "engine": "perry", "operation": "sparse", "rep": 2} +{"wall_ms": 156.809959, "user_us": 145544.0, "system_us": 11271.0, "rss_before": 12992512.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75759616, "instructions": 2575585255, "cycles": 524488810, "engine": "baseline", "operation": "sparse", "rep": 2} +{"wall_ms": 157.348916, "user_us": 145613.0, "system_us": 11740.0, "rss_before": 12992512.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575363481, "cycles": 525776555, "engine": "perry", "operation": "sparse", "rep": 3} +{"wall_ms": 266.218167, "user_us": 263794.0, "system_us": 3580.0, "rss_before": 29769728.0, "rss_after": 73678848.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74088448, "instructions": 5180971812, "cycles": 904051850, "engine": "bun", "operation": "sparse", "rep": 3} +{"wall_ms": 330.01487499999996, "user_us": 330470.0, "system_us": 1925.0, "rss_before": 55001088.0, "rss_after": 68485120.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69107712, "instructions": 5249659041, "cycles": 1163756113, "engine": "node", "operation": "sparse", "rep": 3} +{"wall_ms": 157.573417, "user_us": 145762.0, "system_us": 11815.0, "rss_before": 13008896.0, "rss_after": 75235328.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75776000, "instructions": 2575444742, "cycles": 526468107, "engine": "baseline", "operation": "sparse", "rep": 3} +{"wall_ms": 265.99425, "user_us": 263152.0, "system_us": 3876.0, "rss_before": 29786112.0, "rss_after": 73662464.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74072064, "instructions": 5172466998, "cycles": 903546381, "engine": "bun", "operation": "sparse", "rep": 4} +{"wall_ms": 298.513416, "user_us": 299027.0, "system_us": 1874.0, "rss_before": 55001088.0, "rss_after": 68550656.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69156864, "instructions": 5237100063, "cycles": 1068626219, "engine": "node", "operation": "sparse", "rep": 4} +{"wall_ms": 156.922333, "user_us": 145589.0, "system_us": 11337.0, "rss_before": 12992512.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575598666, "cycles": 524451568, "engine": "perry", "operation": "sparse", "rep": 4} +{"wall_ms": 157.26229099999998, "user_us": 145895.0, "system_us": 11362.0, "rss_before": 13008896.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75759616, "instructions": 2575395121, "cycles": 524946623, "engine": "baseline", "operation": "sparse", "rep": 4} +{"wall_ms": 157.180125, "user_us": 145685.0, "system_us": 11499.0, "rss_before": 12976128.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575229483, "cycles": 525236685, "engine": "perry", "operation": "sparse", "rep": 5} +{"wall_ms": 157.000416, "user_us": 145685.0, "system_us": 11319.0, "rss_before": 12992512.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75759616, "instructions": 2575316369, "cycles": 524899820, "engine": "baseline", "operation": "sparse", "rep": 5} +{"wall_ms": 265.779584, "user_us": 263281.0, "system_us": 3636.0, "rss_before": 29769728.0, "rss_after": 73646080.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74055680, "instructions": 5171714322, "cycles": 902790053, "engine": "bun", "operation": "sparse", "rep": 5} +{"wall_ms": 312.15295799999996, "user_us": 312619.0, "system_us": 1890.0, "rss_before": 55115776.0, "rss_after": 68648960.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69304320, "instructions": 5279904770, "cycles": 1108233226, "engine": "node", "operation": "sparse", "rep": 5} +{"wall_ms": 300.8045, "user_us": 301201.0, "system_us": 1967.0, "rss_before": 55017472.0, "rss_after": 68567040.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 69206016, "instructions": 5234971700, "cycles": 1071706069, "engine": "node", "operation": "sparse", "rep": 6} +{"wall_ms": 156.934834, "user_us": 145628.0, "system_us": 11312.0, "rss_before": 12976128.0, "rss_after": 75202560.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75726848, "instructions": 2575215509, "cycles": 524746664, "engine": "perry", "operation": "sparse", "rep": 6} +{"wall_ms": 157.760584, "user_us": 145823.0, "system_us": 11935.0, "rss_before": 13008896.0, "rss_after": 75218944.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 75759616, "instructions": 2575846277, "cycles": 526696588, "engine": "baseline", "operation": "sparse", "rep": 6} +{"wall_ms": 265.562291, "user_us": 263100.0, "system_us": 3567.0, "rss_before": 29802496.0, "rss_after": 73662464.0, "checksum": 936530.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7868, "warmup": 2, "peak_rss": 74072064, "instructions": 5171521562, "cycles": 902415930, "engine": "bun", "operation": "sparse", "rep": 6} +{"wall_ms": 128.724, "user_us": 130438.0, "system_us": 3772.0, "rss_before": 29786112.0, "rss_after": 80740352.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81149952, "instructions": 2590311265, "cycles": 475899158, "engine": "bun", "operation": "scan", "rep": 0} +{"wall_ms": 221.78175, "user_us": 209053.0, "system_us": 12733.0, "rss_before": 13123584.0, "rss_after": 213811200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214401024, "instructions": 3967596171, "cycles": 737862972, "engine": "baseline", "operation": "scan", "rep": 0} +{"wall_ms": 144.722292, "user_us": 146083.0, "system_us": 1024.0, "rss_before": 55001088.0, "rss_after": 64274432.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 64946176, "instructions": 2679792928, "cycles": 570528004, "engine": "node", "operation": "scan", "rep": 0} +{"wall_ms": 221.47099999999998, "user_us": 208793.0, "system_us": 12682.0, "rss_before": 13123584.0, "rss_after": 213811200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214384640, "instructions": 3966542639, "cycles": 736935103, "engine": "perry", "operation": "scan", "rep": 0} +{"wall_ms": 153.25262500000002, "user_us": 154506.0, "system_us": 1136.0, "rss_before": 55033856.0, "rss_after": 64307200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 64962560, "instructions": 2676365495, "cycles": 597295193, "engine": "node", "operation": "scan", "rep": 1} +{"wall_ms": 128.839333, "user_us": 130803.0, "system_us": 3832.0, "rss_before": 29802496.0, "rss_after": 80805888.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81215488, "instructions": 2591826262, "cycles": 477809733, "engine": "bun", "operation": "scan", "rep": 1} +{"wall_ms": 220.938833, "user_us": 208737.0, "system_us": 12206.0, "rss_before": 13123584.0, "rss_after": 213827584.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214417408, "instructions": 3966307441, "cycles": 735442016, "engine": "baseline", "operation": "scan", "rep": 1} +{"wall_ms": 221.379167, "user_us": 209006.0, "system_us": 12377.0, "rss_before": 13107200.0, "rss_after": 213794816.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214368256, "instructions": 3966547782, "cycles": 736807283, "engine": "perry", "operation": "scan", "rep": 1} +{"wall_ms": 221.599917, "user_us": 209149.0, "system_us": 12455.0, "rss_before": 13107200.0, "rss_after": 213794816.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214368256, "instructions": 3966380672, "cycles": 737219603, "engine": "perry", "operation": "scan", "rep": 2} +{"wall_ms": 158.30100000000002, "user_us": 159468.0, "system_us": 1219.0, "rss_before": 55132160.0, "rss_after": 64389120.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 65060864, "instructions": 2697585698, "cycles": 620498525, "engine": "node", "operation": "scan", "rep": 2} +{"wall_ms": 128.975959, "user_us": 130921.0, "system_us": 3612.0, "rss_before": 29786112.0, "rss_after": 80723968.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81133568, "instructions": 2591458332, "cycles": 477593174, "engine": "bun", "operation": "scan", "rep": 2} +{"wall_ms": 221.44108400000002, "user_us": 208927.0, "system_us": 12517.0, "rss_before": 13123584.0, "rss_after": 213811200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214401024, "instructions": 3966456709, "cycles": 737114131, "engine": "baseline", "operation": "scan", "rep": 2} +{"wall_ms": 221.44679200000002, "user_us": 208889.0, "system_us": 12561.0, "rss_before": 13123584.0, "rss_after": 213811200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214401024, "instructions": 3966533118, "cycles": 737192478, "engine": "baseline", "operation": "scan", "rep": 3} +{"wall_ms": 128.687333, "user_us": 130729.0, "system_us": 3523.0, "rss_before": 29802496.0, "rss_after": 80773120.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81182720, "instructions": 2591260617, "cycles": 476871803, "engine": "bun", "operation": "scan", "rep": 3} +{"wall_ms": 221.73141700000002, "user_us": 209135.0, "system_us": 12600.0, "rss_before": 13107200.0, "rss_after": 213925888.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214499328, "instructions": 3966690903, "cycles": 737926166, "engine": "perry", "operation": "scan", "rep": 3} +{"wall_ms": 146.588333, "user_us": 147971.0, "system_us": 1032.0, "rss_before": 55066624.0, "rss_after": 64323584.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 64929792, "instructions": 2686987571, "cycles": 579594736, "engine": "node", "operation": "scan", "rep": 3} +{"wall_ms": 128.549959, "user_us": 130660.0, "system_us": 3442.0, "rss_before": 29802496.0, "rss_after": 80789504.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81199104, "instructions": 2590835325, "cycles": 476507889, "engine": "bun", "operation": "scan", "rep": 4} +{"wall_ms": 156.070625, "user_us": 157327.0, "system_us": 1130.0, "rss_before": 55033856.0, "rss_after": 64323584.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 64995328, "instructions": 2686028111, "cycles": 608766101, "engine": "node", "operation": "scan", "rep": 4} +{"wall_ms": 221.553167, "user_us": 209023.0, "system_us": 12534.0, "rss_before": 13139968.0, "rss_after": 213827584.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214417408, "instructions": 3966425206, "cycles": 736773070, "engine": "baseline", "operation": "scan", "rep": 4} +{"wall_ms": 221.18349999999998, "user_us": 208948.0, "system_us": 12240.0, "rss_before": 13107200.0, "rss_after": 213794816.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214368256, "instructions": 3966715239, "cycles": 736110713, "engine": "perry", "operation": "scan", "rep": 4} +{"wall_ms": 128.56633399999998, "user_us": 130565.0, "system_us": 3506.0, "rss_before": 29786112.0, "rss_after": 80756736.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81166336, "instructions": 2591401706, "cycles": 476584802, "engine": "bun", "operation": "scan", "rep": 5} +{"wall_ms": 158.9565, "user_us": 160120.0, "system_us": 1213.0, "rss_before": 55050240.0, "rss_after": 64356352.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 65028096, "instructions": 2696210763, "cycles": 622071194, "engine": "node", "operation": "scan", "rep": 5} +{"wall_ms": 221.827, "user_us": 209219.0, "system_us": 12612.0, "rss_before": 13107200.0, "rss_after": 213794816.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214368256, "instructions": 3966697549, "cycles": 738185664, "engine": "perry", "operation": "scan", "rep": 5} +{"wall_ms": 221.309, "user_us": 209211.0, "system_us": 12102.0, "rss_before": 13123584.0, "rss_after": 213811200.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214401024, "instructions": 3967060819, "cycles": 736084974, "engine": "baseline", "operation": "scan", "rep": 5} +{"wall_ms": 221.86375, "user_us": 209516.0, "system_us": 12351.0, "rss_before": 13139968.0, "rss_after": 213565440.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214155264, "instructions": 3968310120, "cycles": 737969818, "engine": "baseline", "operation": "scan", "rep": 6} +{"wall_ms": 128.597042, "user_us": 130697.0, "system_us": 3537.0, "rss_before": 29802496.0, "rss_after": 80756736.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 81166336, "instructions": 2591929654, "cycles": 476638975, "engine": "bun", "operation": "scan", "rep": 6} +{"wall_ms": 151.647209, "user_us": 152917.0, "system_us": 1133.0, "rss_before": 55001088.0, "rss_after": 64258048.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 64864256, "instructions": 2687530423, "cycles": 590677969, "engine": "node", "operation": "scan", "rep": 6} +{"wall_ms": 220.915333, "user_us": 208939.0, "system_us": 11980.0, "rss_before": 13107200.0, "rss_after": 213794816.0, "checksum": 26867820.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 3761, "warmup": 2, "peak_rss": 214368256, "instructions": 3966383664, "cycles": 735158565, "engine": "perry", "operation": "scan", "rep": 6} +{"wall_ms": 160.81087499999998, "user_us": 149215.0, "system_us": 11602.0, "rss_before": 12599296.0, "rss_after": 71598080.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72089600, "instructions": 2632572391, "cycles": 536271280, "engine": "perry", "operation": "roundtrip", "rep": 0} +{"wall_ms": 160.78491699999998, "user_us": 149005.0, "system_us": 11784.0, "rss_before": 12632064.0, "rss_after": 71647232.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72155136, "instructions": 2632109745, "cycles": 536765763, "engine": "baseline", "operation": "roundtrip", "rep": 0} +{"wall_ms": 413.361959, "user_us": 413480.0, "system_us": 2224.0, "rss_before": 55181312.0, "rss_after": 68485120.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 69091328, "instructions": 6792783325, "cycles": 1430878489, "engine": "node", "operation": "roundtrip", "rep": 0} +{"wall_ms": 441.2595, "user_us": 438245.0, "system_us": 4338.0, "rss_before": 29900800.0, "rss_after": 73940992.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74334208, "instructions": 8321058471, "cycles": 1466300036, "engine": "bun", "operation": "roundtrip", "rep": 0} +{"wall_ms": 160.571542, "user_us": 148885.0, "system_us": 11690.0, "rss_before": 12599296.0, "rss_after": 71598080.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72089600, "instructions": 2632497560, "cycles": 535901888, "engine": "perry", "operation": "roundtrip", "rep": 1} +{"wall_ms": 160.81225, "user_us": 149136.0, "system_us": 11683.0, "rss_before": 12615680.0, "rss_after": 72122368.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72630272, "instructions": 2633139192, "cycles": 536726327, "engine": "baseline", "operation": "roundtrip", "rep": 1} +{"wall_ms": 399.58525, "user_us": 399723.0, "system_us": 2133.0, "rss_before": 55197696.0, "rss_after": 68485120.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 69156864, "instructions": 6803667522, "cycles": 1383918780, "engine": "node", "operation": "roundtrip", "rep": 1} +{"wall_ms": 439.875, "user_us": 436700.0, "system_us": 4399.0, "rss_before": 29917184.0, "rss_after": 73908224.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74301440, "instructions": 8312675942, "cycles": 1461432764, "engine": "bun", "operation": "roundtrip", "rep": 1} +{"wall_ms": 425.020083, "user_us": 425344.0, "system_us": 1991.0, "rss_before": 55164928.0, "rss_after": 68468736.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 69124096, "instructions": 6800778220, "cycles": 1466920172, "engine": "node", "operation": "roundtrip", "rep": 2} +{"wall_ms": 440.169625, "user_us": 437078.0, "system_us": 4537.0, "rss_before": 29917184.0, "rss_after": 73973760.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74366976, "instructions": 8313153302, "cycles": 1462729359, "engine": "bun", "operation": "roundtrip", "rep": 2} +{"wall_ms": 160.46141699999998, "user_us": 148927.0, "system_us": 11538.0, "rss_before": 12615680.0, "rss_after": 72105984.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72597504, "instructions": 2632826633, "cycles": 535473423, "engine": "perry", "operation": "roundtrip", "rep": 2} +{"wall_ms": 160.548042, "user_us": 148997.0, "system_us": 11558.0, "rss_before": 12615680.0, "rss_after": 71630848.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72138752, "instructions": 2632210633, "cycles": 535805275, "engine": "baseline", "operation": "roundtrip", "rep": 2} +{"wall_ms": 160.766417, "user_us": 149150.0, "system_us": 11623.0, "rss_before": 12632064.0, "rss_after": 72138752.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72646656, "instructions": 2633148111, "cycles": 536509427, "engine": "baseline", "operation": "roundtrip", "rep": 3} +{"wall_ms": 394.993625, "user_us": 395362.0, "system_us": 1898.0, "rss_before": 55181312.0, "rss_after": 68485120.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 69140480, "instructions": 6795870644, "cycles": 1373764271, "engine": "node", "operation": "roundtrip", "rep": 3} +{"wall_ms": 161.948458, "user_us": 150547.0, "system_us": 11378.0, "rss_before": 12615680.0, "rss_after": 71614464.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72105984, "instructions": 2632024578, "cycles": 536434832, "engine": "perry", "operation": "roundtrip", "rep": 3} +{"wall_ms": 440.886333, "user_us": 437319.0, "system_us": 4852.0, "rss_before": 29917184.0, "rss_after": 73973760.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74366976, "instructions": 8314519305, "cycles": 1465674772, "engine": "bun", "operation": "roundtrip", "rep": 3} +{"wall_ms": 162.308708, "user_us": 149397.0, "system_us": 12912.0, "rss_before": 12615680.0, "rss_after": 73220096.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 73711616, "instructions": 2633520058, "cycles": 541088900, "engine": "perry", "operation": "roundtrip", "rep": 4} +{"wall_ms": 161.889375, "user_us": 148795.0, "system_us": 13099.0, "rss_before": 12615680.0, "rss_after": 71630848.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72138752, "instructions": 2632480725, "cycles": 540792262, "engine": "baseline", "operation": "roundtrip", "rep": 4} +{"wall_ms": 440.512458, "user_us": 437486.0, "system_us": 4369.0, "rss_before": 29917184.0, "rss_after": 73924608.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74317824, "instructions": 8313316554, "cycles": 1463405520, "engine": "bun", "operation": "roundtrip", "rep": 4} +{"wall_ms": 413.75091599999996, "user_us": 413628.0, "system_us": 2442.0, "rss_before": 55083008.0, "rss_after": 68337664.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 68943872, "instructions": 6818396775, "cycles": 1433548408, "engine": "node", "operation": "roundtrip", "rep": 4} +{"wall_ms": 160.65870900000002, "user_us": 149161.0, "system_us": 11503.0, "rss_before": 12615680.0, "rss_after": 73220096.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 73711616, "instructions": 2633062134, "cycles": 536237738, "engine": "perry", "operation": "roundtrip", "rep": 5} +{"wall_ms": 405.118834, "user_us": 405379.0, "system_us": 2100.0, "rss_before": 55115776.0, "rss_after": 68435968.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 69091328, "instructions": 6807044927, "cycles": 1402224929, "engine": "node", "operation": "roundtrip", "rep": 5} +{"wall_ms": 160.46204200000003, "user_us": 148999.0, "system_us": 11469.0, "rss_before": 12615680.0, "rss_after": 71630848.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72138752, "instructions": 2632055948, "cycles": 535735997, "engine": "baseline", "operation": "roundtrip", "rep": 5} +{"wall_ms": 440.53225000000003, "user_us": 437216.0, "system_us": 4654.0, "rss_before": 29900800.0, "rss_after": 73940992.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74334208, "instructions": 8312585756, "cycles": 1463252780, "engine": "bun", "operation": "roundtrip", "rep": 5} +{"wall_ms": 440.387958, "user_us": 437208.0, "system_us": 4316.0, "rss_before": 29900800.0, "rss_after": 73908224.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 74301440, "instructions": 8311823938, "cycles": 1462098636, "engine": "bun", "operation": "roundtrip", "rep": 6} +{"wall_ms": 160.654958, "user_us": 149086.0, "system_us": 11573.0, "rss_before": 12615680.0, "rss_after": 73236480.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 73744384, "instructions": 2633405893, "cycles": 535975211, "engine": "baseline", "operation": "roundtrip", "rep": 6} +{"wall_ms": 395.687, "user_us": 395737.0, "system_us": 2327.0, "rss_before": 55083008.0, "rss_after": 68354048.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 68993024, "instructions": 6785836332, "cycles": 1370773823, "engine": "node", "operation": "roundtrip", "rep": 6} +{"wall_ms": 160.59475, "user_us": 148978.0, "system_us": 11624.0, "rss_before": 12599296.0, "rss_after": 71598080.0, "checksum": 100182897.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7659, "warmup": 2, "peak_rss": 72089600, "instructions": 2632015516, "cycles": 535649008, "engine": "perry", "operation": "roundtrip", "rep": 6} +{"wall_ms": 434.34108399999997, "user_us": 440262.0, "system_us": 7245.0, "rss_before": 64536576.0, "rss_after": 130662400.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131891200, "instructions": 7477468283, "cycles": 1572040006, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 156.25204200000002, "user_us": 139476.0, "system_us": 16780.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70369280, "instructions": 2488193136, "cycles": 527337096, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 355.688292, "user_us": 357618.0, "system_us": 5275.0, "rss_before": 34832384.0, "rss_after": 92618752.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93028352, "instructions": 7357109528, "cycles": 1222675927, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 155.96241700000002, "user_us": 139322.0, "system_us": 16645.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70385664, "instructions": 2488574222, "cycles": 526895430, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 356.246333, "user_us": 357788.0, "system_us": 5641.0, "rss_before": 34832384.0, "rss_after": 92585984.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 92995584, "instructions": 7357687865, "cycles": 1224973500, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 156.08662500000003, "user_us": 139399.0, "system_us": 16692.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70385664, "instructions": 2488238199, "cycles": 526838145, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 478.04870800000003, "user_us": 484308.0, "system_us": 6991.0, "rss_before": 64634880.0, "rss_after": 130498560.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131842048, "instructions": 7508038612, "cycles": 1716793400, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 155.70704100000003, "user_us": 139474.0, "system_us": 16238.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70369280, "instructions": 2488071374, "cycles": 524959870, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 155.831167, "user_us": 139228.0, "system_us": 16608.0, "rss_before": 18874368.0, "rss_after": 69861376.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70352896, "instructions": 2488610130, "cycles": 525921558, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 443.842042, "user_us": 449953.0, "system_us": 6722.0, "rss_before": 64520192.0, "rss_after": 130564096.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131891200, "instructions": 7495629488, "cycles": 1603784950, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 156.607917, "user_us": 139397.0, "system_us": 17216.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70385664, "instructions": 2488153340, "cycles": 528433844, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 356.79925000000003, "user_us": 359096.0, "system_us": 5390.0, "rss_before": 34848768.0, "rss_after": 92667904.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93077504, "instructions": 7360889155, "cycles": 1228114853, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 429.49362499999995, "user_us": 435706.0, "system_us": 6572.0, "rss_before": 64585728.0, "rss_after": 130465792.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131760128, "instructions": 7468403781, "cycles": 1560518312, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 356.977833, "user_us": 358759.0, "system_us": 5775.0, "rss_before": 34881536.0, "rss_after": 92651520.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93061120, "instructions": 7358233274, "cycles": 1228128971, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 155.99916700000003, "user_us": 139426.0, "system_us": 16582.0, "rss_before": 18890752.0, "rss_after": 69861376.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70352896, "instructions": 2488229655, "cycles": 526632338, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 155.91699999999997, "user_us": 139350.0, "system_us": 16571.0, "rss_before": 18907136.0, "rss_after": 69894144.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70402048, "instructions": 2488244169, "cycles": 526326960, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 356.46299999999997, "user_us": 358307.0, "system_us": 5688.0, "rss_before": 34865152.0, "rss_after": 92602368.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93011968, "instructions": 7358908843, "cycles": 1226697553, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 442.562875, "user_us": 449346.0, "system_us": 6644.0, "rss_before": 64471040.0, "rss_after": 130367488.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131792896, "instructions": 7490868994, "cycles": 1603566452, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 156.54529200000002, "user_us": 139394.0, "system_us": 17159.0, "rss_before": 18874368.0, "rss_after": 69861376.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70352896, "instructions": 2488422808, "cycles": 528396608, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 156.485375, "user_us": 139583.0, "system_us": 16907.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70385664, "instructions": 2488507614, "cycles": 527739122, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 357.17674999999997, "user_us": 359011.0, "system_us": 5581.0, "rss_before": 34832384.0, "rss_after": 92651520.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93061120, "instructions": 7361194939, "cycles": 1229193285, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 156.245, "user_us": 139688.0, "system_us": 16531.0, "rss_before": 18890752.0, "rss_after": 69877760.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70385664, "instructions": 2488493518, "cycles": 527305298, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 441.91033300000004, "user_us": 448039.0, "system_us": 6698.0, "rss_before": 64438272.0, "rss_after": 130416640.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131792896, "instructions": 7495578728, "cycles": 1599301469, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 156.293708, "user_us": 139446.0, "system_us": 16852.0, "rss_before": 18874368.0, "rss_after": 69861376.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70352896, "instructions": 2488266941, "cycles": 527760076, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 357.1055, "user_us": 359000.0, "system_us": 5473.0, "rss_before": 34897920.0, "rss_after": 92602368.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 93011968, "instructions": 7358173100, "cycles": 1228521330, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 155.7055, "user_us": 139219.0, "system_us": 16492.0, "rss_before": 18890752.0, "rss_after": 69861376.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70352896, "instructions": 2488198505, "cycles": 525563722, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 439.938125, "user_us": 446261.0, "system_us": 6854.0, "rss_before": 64552960.0, "rss_after": 130433024.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 131825664, "instructions": 7464876027, "cycles": 1593587552, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 157.1005, "user_us": 140151.0, "system_us": 16953.0, "rss_before": 18907136.0, "rss_after": 69894144.0, "checksum": 172.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 170, "warmup": 2, "peak_rss": 70402048, "instructions": 2488437008, "cycles": 530281571, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 146.93791600000003, "user_us": 144094.0, "system_us": 2851.0, "rss_before": 20905984.0, "rss_after": 65585152.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030084116, "cycles": 504265058, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 219.898834, "user_us": 216121.0, "system_us": 5078.0, "rss_before": 36978688.0, "rss_after": 108363776.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108756992, "instructions": 4264648839, "cycles": 771263092, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 187.857583, "user_us": 188342.0, "system_us": 6248.0, "rss_before": 65667072.0, "rss_after": 135102464.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135675904, "instructions": 3813696881, "cycles": 746283890, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 147.655542, "user_us": 144952.0, "system_us": 2711.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030250716, "cycles": 506580555, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 147.09633300000002, "user_us": 144446.0, "system_us": 2656.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030278043, "cycles": 504556783, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 187.153708, "user_us": 188014.0, "system_us": 5889.0, "rss_before": 65568768.0, "rss_after": 135036928.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135577600, "instructions": 3812762225, "cycles": 742721147, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 147.57483299999998, "user_us": 144857.0, "system_us": 2726.0, "rss_before": 20905984.0, "rss_after": 65585152.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030212499, "cycles": 506610432, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 220.23516700000002, "user_us": 216314.0, "system_us": 5321.0, "rss_before": 37011456.0, "rss_after": 108347392.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108740608, "instructions": 4265501204, "cycles": 772433656, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 186.836167, "user_us": 187896.0, "system_us": 5763.0, "rss_before": 65470464.0, "rss_after": 135118848.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135692288, "instructions": 3810297628, "cycles": 738643041, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 148.031083, "user_us": 145379.0, "system_us": 2657.0, "rss_before": 20922368.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030071197, "cycles": 507604687, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 148.463458, "user_us": 145748.0, "system_us": 2703.0, "rss_before": 20905984.0, "rss_after": 65585152.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030099421, "cycles": 508827097, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 219.689458, "user_us": 216198.0, "system_us": 4805.0, "rss_before": 36995072.0, "rss_after": 108298240.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108691456, "instructions": 4264768884, "cycles": 770669785, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 187.54075, "user_us": 187717.0, "system_us": 6095.0, "rss_before": 65667072.0, "rss_after": 135102464.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135675904, "instructions": 3809714852, "cycles": 741284097, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 147.759458, "user_us": 144976.0, "system_us": 2789.0, "rss_before": 20889600.0, "rss_after": 65552384.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66060288, "instructions": 3030221189, "cycles": 506895889, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 220.1425, "user_us": 216356.0, "system_us": 5114.0, "rss_before": 36995072.0, "rss_after": 108331008.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108724224, "instructions": 4264808752, "cycles": 772123267, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 148.34275000000002, "user_us": 145597.0, "system_us": 2745.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030273911, "cycles": 508767686, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 147.61695799999998, "user_us": 144904.0, "system_us": 2723.0, "rss_before": 20905984.0, "rss_after": 65552384.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66060288, "instructions": 3030208690, "cycles": 506415544, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 187.12158300000002, "user_us": 187573.0, "system_us": 6065.0, "rss_before": 65585152.0, "rss_after": 135086080.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135675904, "instructions": 3815164009, "cycles": 744357394, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 148.28408299999998, "user_us": 145578.0, "system_us": 2702.0, "rss_before": 20922368.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030268202, "cycles": 508615782, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 219.863333, "user_us": 216165.0, "system_us": 5006.0, "rss_before": 36995072.0, "rss_after": 108331008.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108724224, "instructions": 4265225260, "cycles": 771273220, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 147.64470900000003, "user_us": 144814.0, "system_us": 2839.0, "rss_before": 20905984.0, "rss_after": 65601536.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66125824, "instructions": 3030051859, "cycles": 506603376, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 187.04975000000002, "user_us": 187887.0, "system_us": 5964.0, "rss_before": 65617920.0, "rss_after": 135151616.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135757824, "instructions": 3807245467, "cycles": 736678419, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 149.80795799999999, "user_us": 146686.0, "system_us": 3129.0, "rss_before": 20905984.0, "rss_after": 65552384.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66060288, "instructions": 3030258213, "cycles": 513716218, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 220.15275000000003, "user_us": 216418.0, "system_us": 5045.0, "rss_before": 36978688.0, "rss_after": 108347392.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108740608, "instructions": 4265474376, "cycles": 771896441, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 149.077917, "user_us": 146269.0, "system_us": 2818.0, "rss_before": 20889600.0, "rss_after": 65552384.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66060288, "instructions": 3030082781, "cycles": 511274480, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 186.84254199999998, "user_us": 187044.0, "system_us": 5882.0, "rss_before": 65634304.0, "rss_after": 135168000.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 135725056, "instructions": 3810460256, "cycles": 738436490, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 219.629333, "user_us": 215970.0, "system_us": 5039.0, "rss_before": 36978688.0, "rss_after": 108331008.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 108724224, "instructions": 4265082413, "cycles": 770405453, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 147.456209, "user_us": 144694.0, "system_us": 2770.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203510307.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030698583, "cycles": 505851187, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 155.801958, "user_us": 139957.0, "system_us": 15854.0, "rss_before": 19349504.0, "rss_after": 70451200.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70959104, "instructions": 2430209981, "cycles": 527607826, "engine": "baseline", "operation": "sparse", "rep": 0} +{"wall_ms": 425.106667, "user_us": 431439.0, "system_us": 6795.0, "rss_before": 64569344.0, "rss_after": 130449408.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131727360, "instructions": 7125014305, "cycles": 1546328452, "engine": "node", "operation": "sparse", "rep": 0} +{"wall_ms": 155.830167, "user_us": 139898.0, "system_us": 15941.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70926336, "instructions": 2430450979, "cycles": 527510256, "engine": "perry", "operation": "sparse", "rep": 0} +{"wall_ms": 339.877125, "user_us": 344864.0, "system_us": 5956.0, "rss_before": 34865152.0, "rss_after": 101400576.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 101810176, "instructions": 7053900947, "cycles": 1183462395, "engine": "bun", "operation": "sparse", "rep": 0} +{"wall_ms": 155.660167, "user_us": 140138.0, "system_us": 15531.0, "rss_before": 19333120.0, "rss_after": 70418432.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70909952, "instructions": 2429920067, "cycles": 527100157, "engine": "perry", "operation": "sparse", "rep": 1} +{"wall_ms": 340.433667, "user_us": 344851.0, "system_us": 6500.0, "rss_before": 34848768.0, "rss_after": 101793792.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 102203392, "instructions": 7066299028, "cycles": 1184935544, "engine": "bun", "operation": "sparse", "rep": 1} +{"wall_ms": 428.051459, "user_us": 434511.0, "system_us": 6466.0, "rss_before": 64438272.0, "rss_after": 130383872.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131727360, "instructions": 7144382140, "cycles": 1556114676, "engine": "node", "operation": "sparse", "rep": 1} +{"wall_ms": 155.897458, "user_us": 139940.0, "system_us": 15964.0, "rss_before": 19349504.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70942720, "instructions": 2430473066, "cycles": 528024493, "engine": "baseline", "operation": "sparse", "rep": 1} +{"wall_ms": 155.6155, "user_us": 139936.0, "system_us": 15688.0, "rss_before": 19316736.0, "rss_after": 70418432.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70909952, "instructions": 2430072182, "cycles": 526944699, "engine": "perry", "operation": "sparse", "rep": 2} +{"wall_ms": 431.491875, "user_us": 437704.0, "system_us": 6698.0, "rss_before": 64520192.0, "rss_after": 130596864.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131923968, "instructions": 7146563112, "cycles": 1566978054, "engine": "node", "operation": "sparse", "rep": 2} +{"wall_ms": 340.082959, "user_us": 345101.0, "system_us": 6183.0, "rss_before": 34865152.0, "rss_after": 101416960.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 101826560, "instructions": 7053492829, "cycles": 1184461495, "engine": "bun", "operation": "sparse", "rep": 2} +{"wall_ms": 155.88370899999998, "user_us": 139998.0, "system_us": 15895.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70942720, "instructions": 2429855679, "cycles": 528077642, "engine": "baseline", "operation": "sparse", "rep": 2} +{"wall_ms": 424.459958, "user_us": 430309.0, "system_us": 6452.0, "rss_before": 64339968.0, "rss_after": 130334720.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131727360, "instructions": 7122946930, "cycles": 1541417879, "engine": "node", "operation": "sparse", "rep": 3} +{"wall_ms": 385.82937499999997, "user_us": 391375.0, "system_us": 6302.0, "rss_before": 34848768.0, "rss_after": 101728256.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 102137856, "instructions": 7068875071, "cycles": 1335015472, "engine": "bun", "operation": "sparse", "rep": 3} +{"wall_ms": 155.776625, "user_us": 139929.0, "system_us": 15855.0, "rss_before": 19333120.0, "rss_after": 70418432.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70909952, "instructions": 2430320070, "cycles": 527484414, "engine": "perry", "operation": "sparse", "rep": 3} +{"wall_ms": 156.69708300000002, "user_us": 140249.0, "system_us": 16451.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70942720, "instructions": 2430778589, "cycles": 530205216, "engine": "baseline", "operation": "sparse", "rep": 3} +{"wall_ms": 340.24145799999997, "user_us": 345098.0, "system_us": 6224.0, "rss_before": 34832384.0, "rss_after": 101859328.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 102268928, "instructions": 7058460125, "cycles": 1185309493, "engine": "bun", "operation": "sparse", "rep": 4} +{"wall_ms": 155.867334, "user_us": 140219.0, "system_us": 15647.0, "rss_before": 19349504.0, "rss_after": 70451200.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70959104, "instructions": 2429924962, "cycles": 527303394, "engine": "baseline", "operation": "sparse", "rep": 4} +{"wall_ms": 403.605792, "user_us": 409705.0, "system_us": 6767.0, "rss_before": 64634880.0, "rss_after": 130514944.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131776512, "instructions": 7089663390, "cycles": 1475887504, "engine": "node", "operation": "sparse", "rep": 4} +{"wall_ms": 155.40225, "user_us": 139961.0, "system_us": 15448.0, "rss_before": 19316736.0, "rss_after": 70418432.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70909952, "instructions": 2430009941, "cycles": 526632308, "engine": "perry", "operation": "sparse", "rep": 4} +{"wall_ms": 155.82679100000001, "user_us": 139791.0, "system_us": 16045.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70942720, "instructions": 2429834858, "cycles": 527657454, "engine": "baseline", "operation": "sparse", "rep": 5} +{"wall_ms": 155.467291, "user_us": 139810.0, "system_us": 15661.0, "rss_before": 19316736.0, "rss_after": 70418432.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70909952, "instructions": 2430051100, "cycles": 526278505, "engine": "perry", "operation": "sparse", "rep": 5} +{"wall_ms": 340.754209, "user_us": 345491.0, "system_us": 6699.0, "rss_before": 34832384.0, "rss_after": 103284736.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 103694336, "instructions": 7063181719, "cycles": 1187905356, "engine": "bun", "operation": "sparse", "rep": 5} +{"wall_ms": 415.489666, "user_us": 421422.0, "system_us": 6545.0, "rss_before": 64536576.0, "rss_after": 130498560.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131792896, "instructions": 7102537572, "cycles": 1513572896, "engine": "node", "operation": "sparse", "rep": 5} +{"wall_ms": 155.826875, "user_us": 140060.0, "system_us": 15775.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70926336, "instructions": 2430430830, "cycles": 527328757, "engine": "perry", "operation": "sparse", "rep": 6} +{"wall_ms": 339.846875, "user_us": 344529.0, "system_us": 6126.0, "rss_before": 34848768.0, "rss_after": 101777408.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 102187008, "instructions": 7055442375, "cycles": 1182503154, "engine": "bun", "operation": "sparse", "rep": 6} +{"wall_ms": 155.91425, "user_us": 139989.0, "system_us": 15930.0, "rss_before": 19333120.0, "rss_after": 70434816.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 70942720, "instructions": 2430795738, "cycles": 528215656, "engine": "baseline", "operation": "sparse", "rep": 6} +{"wall_ms": 425.23524999999995, "user_us": 431304.0, "system_us": 6672.0, "rss_before": 64520192.0, "rss_after": 130449408.0, "checksum": 1238637.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 161, "warmup": 2, "peak_rss": 131760128, "instructions": 7120877242, "cycles": 1547788155, "engine": "node", "operation": "sparse", "rep": 6} +{"wall_ms": 194.31658299999998, "user_us": 185151.0, "system_us": 9171.0, "rss_before": 21151744.0, "rss_after": 165675008.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166182912, "instructions": 3766535266, "cycles": 666306410, "engine": "perry", "operation": "scan", "rep": 0} +{"wall_ms": 193.24425, "user_us": 201275.0, "system_us": 3329.0, "rss_before": 64405504.0, "rss_after": 100958208.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102334464, "instructions": 3413078043, "cycles": 797409132, "engine": "node", "operation": "scan", "rep": 0} +{"wall_ms": 194.406542, "user_us": 185320.0, "system_us": 9094.0, "rss_before": 21184512.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766405801, "cycles": 666638121, "engine": "baseline", "operation": "scan", "rep": 0} +{"wall_ms": 146.30908300000002, "user_us": 150011.0, "system_us": 3670.0, "rss_before": 35209216.0, "rss_after": 86900736.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87310336, "instructions": 3162114564, "cycles": 554105324, "engine": "bun", "operation": "scan", "rep": 0} +{"wall_ms": 193.704209, "user_us": 184886.0, "system_us": 8822.0, "rss_before": 21168128.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766469233, "cycles": 664337566, "engine": "baseline", "operation": "scan", "rep": 1} +{"wall_ms": 191.70600000000002, "user_us": 199334.0, "system_us": 3511.0, "rss_before": 64602112.0, "rss_after": 100974592.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102318080, "instructions": 3401540006, "cycles": 793905544, "engine": "node", "operation": "scan", "rep": 1} +{"wall_ms": 194.5205, "user_us": 185454.0, "system_us": 9031.0, "rss_before": 21168128.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3766444808, "cycles": 666275627, "engine": "perry", "operation": "scan", "rep": 1} +{"wall_ms": 146.435917, "user_us": 150082.0, "system_us": 3969.0, "rss_before": 35192832.0, "rss_after": 86949888.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87359488, "instructions": 3162835103, "cycles": 555786674, "engine": "bun", "operation": "scan", "rep": 1} +{"wall_ms": 146.167416, "user_us": 149550.0, "system_us": 4129.0, "rss_before": 35209216.0, "rss_after": 86818816.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87228416, "instructions": 3160422664, "cycles": 554677977, "engine": "bun", "operation": "scan", "rep": 2} +{"wall_ms": 198.32716699999997, "user_us": 205591.0, "system_us": 3852.0, "rss_before": 64471040.0, "rss_after": 100974592.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102236160, "instructions": 3420694570, "cycles": 818015328, "engine": "node", "operation": "scan", "rep": 2} +{"wall_ms": 194.167, "user_us": 185042.0, "system_us": 9129.0, "rss_before": 21168128.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766481841, "cycles": 665759696, "engine": "baseline", "operation": "scan", "rep": 2} +{"wall_ms": 194.41545799999997, "user_us": 185148.0, "system_us": 9271.0, "rss_before": 21168128.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3766449955, "cycles": 666359772, "engine": "perry", "operation": "scan", "rep": 2} +{"wall_ms": 193.656958, "user_us": 201190.0, "system_us": 3564.0, "rss_before": 64618496.0, "rss_after": 101023744.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102400000, "instructions": 3406874477, "cycles": 799223225, "engine": "node", "operation": "scan", "rep": 3} +{"wall_ms": 146.31395799999999, "user_us": 149544.0, "system_us": 4155.0, "rss_before": 35209216.0, "rss_after": 86818816.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87228416, "instructions": 3160493855, "cycles": 554479250, "engine": "bun", "operation": "scan", "rep": 3} +{"wall_ms": 193.766916, "user_us": 185054.0, "system_us": 8717.0, "rss_before": 21168128.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3766265512, "cycles": 664927351, "engine": "perry", "operation": "scan", "rep": 3} +{"wall_ms": 194.18399999999997, "user_us": 184962.0, "system_us": 9230.0, "rss_before": 21184512.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766557090, "cycles": 666082891, "engine": "baseline", "operation": "scan", "rep": 3} +{"wall_ms": 183.06633300000001, "user_us": 190776.0, "system_us": 3611.0, "rss_before": 64421888.0, "rss_after": 100958208.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102350848, "instructions": 3413480174, "cycles": 764540242, "engine": "node", "operation": "scan", "rep": 4} +{"wall_ms": 193.856375, "user_us": 184934.0, "system_us": 8930.0, "rss_before": 21184512.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766969774, "cycles": 665024320, "engine": "baseline", "operation": "scan", "rep": 4} +{"wall_ms": 194.461083, "user_us": 185053.0, "system_us": 9409.0, "rss_before": 21168128.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3766563224, "cycles": 666730381, "engine": "perry", "operation": "scan", "rep": 4} +{"wall_ms": 146.25150000000002, "user_us": 150055.0, "system_us": 3827.0, "rss_before": 35209216.0, "rss_after": 86917120.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87326720, "instructions": 3163301588, "cycles": 555103794, "engine": "bun", "operation": "scan", "rep": 4} +{"wall_ms": 146.147792, "user_us": 149557.0, "system_us": 4052.0, "rss_before": 35192832.0, "rss_after": 86802432.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87212032, "instructions": 3160811576, "cycles": 554308988, "engine": "bun", "operation": "scan", "rep": 5} +{"wall_ms": 194.206167, "user_us": 184965.0, "system_us": 9242.0, "rss_before": 21168128.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3768260775, "cycles": 665835953, "engine": "perry", "operation": "scan", "rep": 5} +{"wall_ms": 194.186708, "user_us": 185151.0, "system_us": 9044.0, "rss_before": 21184512.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766384048, "cycles": 665654005, "engine": "baseline", "operation": "scan", "rep": 5} +{"wall_ms": 197.885041, "user_us": 205504.0, "system_us": 3653.0, "rss_before": 64487424.0, "rss_after": 100925440.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102170624, "instructions": 3423786612, "cycles": 814228665, "engine": "node", "operation": "scan", "rep": 5} +{"wall_ms": 194.386459, "user_us": 185524.0, "system_us": 8871.0, "rss_before": 21184512.0, "rss_after": 165707776.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166232064, "instructions": 3766236988, "cycles": 666053715, "engine": "baseline", "operation": "scan", "rep": 6} +{"wall_ms": 193.974459, "user_us": 184722.0, "system_us": 9258.0, "rss_before": 21151744.0, "rss_after": 165691392.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 166199296, "instructions": 3767290328, "cycles": 665340029, "engine": "perry", "operation": "scan", "rep": 6} +{"wall_ms": 192.945, "user_us": 200542.0, "system_us": 3386.0, "rss_before": 64487424.0, "rss_after": 100909056.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 102170624, "instructions": 3401524291, "cycles": 794663192, "engine": "node", "operation": "scan", "rep": 6} +{"wall_ms": 146.108583, "user_us": 149653.0, "system_us": 3862.0, "rss_before": 35225600.0, "rss_after": 86802432.0, "checksum": 2050210200.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 69, "warmup": 2, "peak_rss": 87212032, "instructions": 3160219669, "cycles": 554080564, "engine": "bun", "operation": "scan", "rep": 6} +{"wall_ms": 406.71608299999997, "user_us": 408123.0, "system_us": 7701.0, "rss_before": 66502656.0, "rss_after": 157384704.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 158613504, "instructions": 6887388824, "cycles": 1475163846, "engine": "node", "operation": "roundtrip", "rep": 0} +{"wall_ms": 352.39175, "user_us": 351542.0, "system_us": 6186.0, "rss_before": 37797888.0, "rss_after": 97501184.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97894400, "instructions": 7104892641, "cycles": 1214230766, "engine": "bun", "operation": "roundtrip", "rep": 0} +{"wall_ms": 162.031584, "user_us": 145770.0, "system_us": 16247.0, "rss_before": 20955136.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2538323786, "cycles": 549168720, "engine": "baseline", "operation": "roundtrip", "rep": 0} +{"wall_ms": 162.09395800000001, "user_us": 145653.0, "system_us": 16446.0, "rss_before": 20938752.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538261433, "cycles": 549603985, "engine": "perry", "operation": "roundtrip", "rep": 0} +{"wall_ms": 162.311416, "user_us": 145566.0, "system_us": 16751.0, "rss_before": 20922368.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538864466, "cycles": 550679719, "engine": "perry", "operation": "roundtrip", "rep": 1} +{"wall_ms": 407.659042, "user_us": 409615.0, "system_us": 7979.0, "rss_before": 66584576.0, "rss_after": 158416896.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159678464, "instructions": 6902006704, "cycles": 1482179317, "engine": "node", "operation": "roundtrip", "rep": 1} +{"wall_ms": 352.722167, "user_us": 351768.0, "system_us": 6075.0, "rss_before": 37732352.0, "rss_after": 97435648.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97828864, "instructions": 7103622235, "cycles": 1214220245, "engine": "bun", "operation": "roundtrip", "rep": 1} +{"wall_ms": 161.9685, "user_us": 145372.0, "system_us": 16601.0, "rss_before": 20938752.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2538596570, "cycles": 549378804, "engine": "baseline", "operation": "roundtrip", "rep": 1} +{"wall_ms": 162.412125, "user_us": 145716.0, "system_us": 16653.0, "rss_before": 20938752.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538746948, "cycles": 550479455, "engine": "perry", "operation": "roundtrip", "rep": 2} +{"wall_ms": 162.665833, "user_us": 145587.0, "system_us": 17083.0, "rss_before": 20955136.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2539178482, "cycles": 551890686, "engine": "baseline", "operation": "roundtrip", "rep": 2} +{"wall_ms": 395.19379200000003, "user_us": 397247.0, "system_us": 7935.0, "rss_before": 66437120.0, "rss_after": 158334976.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159514624, "instructions": 6918408596, "cycles": 1436571826, "engine": "node", "operation": "roundtrip", "rep": 2} +{"wall_ms": 352.105209, "user_us": 351395.0, "system_us": 5953.0, "rss_before": 37797888.0, "rss_after": 97468416.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97861632, "instructions": 7104203109, "cycles": 1213254472, "engine": "bun", "operation": "roundtrip", "rep": 2} +{"wall_ms": 388.540625, "user_us": 390367.0, "system_us": 7657.0, "rss_before": 66469888.0, "rss_after": 158269440.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159531008, "instructions": 6904065684, "cycles": 1416164076, "engine": "node", "operation": "roundtrip", "rep": 3} +{"wall_ms": 162.52833400000003, "user_us": 145733.0, "system_us": 16795.0, "rss_before": 20938752.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2538582504, "cycles": 550686175, "engine": "baseline", "operation": "roundtrip", "rep": 3} +{"wall_ms": 162.60475, "user_us": 145560.0, "system_us": 17050.0, "rss_before": 20922368.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538657849, "cycles": 551831370, "engine": "perry", "operation": "roundtrip", "rep": 3} +{"wall_ms": 352.20525, "user_us": 351553.0, "system_us": 5596.0, "rss_before": 37748736.0, "rss_after": 97468416.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97861632, "instructions": 7102904102, "cycles": 1211786861, "engine": "bun", "operation": "roundtrip", "rep": 3} +{"wall_ms": 413.216833, "user_us": 415479.0, "system_us": 7469.0, "rss_before": 66600960.0, "rss_after": 158466048.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159678464, "instructions": 6911944347, "cycles": 1498841380, "engine": "node", "operation": "roundtrip", "rep": 4} +{"wall_ms": 162.050375, "user_us": 145835.0, "system_us": 16217.0, "rss_before": 20938752.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538080814, "cycles": 548970254, "engine": "perry", "operation": "roundtrip", "rep": 4} +{"wall_ms": 351.919125, "user_us": 351662.0, "system_us": 5656.0, "rss_before": 37732352.0, "rss_after": 97435648.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97828864, "instructions": 7111455889, "cycles": 1212083722, "engine": "bun", "operation": "roundtrip", "rep": 4} +{"wall_ms": 161.91754099999997, "user_us": 145530.0, "system_us": 16391.0, "rss_before": 20955136.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2538238195, "cycles": 549057341, "engine": "baseline", "operation": "roundtrip", "rep": 4} +{"wall_ms": 391.986292, "user_us": 394091.0, "system_us": 7936.0, "rss_before": 66519040.0, "rss_after": 158236672.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159498240, "instructions": 6926582115, "cycles": 1438361048, "engine": "node", "operation": "roundtrip", "rep": 5} +{"wall_ms": 162.143584, "user_us": 145391.0, "system_us": 16757.0, "rss_before": 20955136.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2538615233, "cycles": 550066506, "engine": "baseline", "operation": "roundtrip", "rep": 5} +{"wall_ms": 162.780958, "user_us": 145636.0, "system_us": 17153.0, "rss_before": 20922368.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2539106067, "cycles": 551726015, "engine": "perry", "operation": "roundtrip", "rep": 5} +{"wall_ms": 352.308917, "user_us": 351681.0, "system_us": 5892.0, "rss_before": 37765120.0, "rss_after": 97452032.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97845248, "instructions": 7103375359, "cycles": 1213439383, "engine": "bun", "operation": "roundtrip", "rep": 5} +{"wall_ms": 352.584875, "user_us": 351916.0, "system_us": 5954.0, "rss_before": 37748736.0, "rss_after": 97484800.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 97878016, "instructions": 7105253559, "cycles": 1214095126, "engine": "bun", "operation": "roundtrip", "rep": 6} +{"wall_ms": 162.29225000000002, "user_us": 145567.0, "system_us": 16730.0, "rss_before": 20938752.0, "rss_after": 63963136.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64454656, "instructions": 2538515576, "cycles": 550176860, "engine": "perry", "operation": "roundtrip", "rep": 6} +{"wall_ms": 406.171542, "user_us": 407874.0, "system_us": 7793.0, "rss_before": 66437120.0, "rss_after": 158203904.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 159432704, "instructions": 6897080084, "cycles": 1473061688, "engine": "node", "operation": "roundtrip", "rep": 6} +{"wall_ms": 162.558541, "user_us": 145630.0, "system_us": 16934.0, "rss_before": 20955136.0, "rss_after": 63979520.0, "checksum": 103076649.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 115, "warmup": 2, "peak_rss": 64487424, "instructions": 2539275236, "cycles": 551267086, "engine": "baseline", "operation": "roundtrip", "rep": 6} +{"wall_ms": 162.7735, "user_us": 159275.0, "system_us": 3503.0, "rss_before": 17629184.0, "rss_after": 69124096.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69648384, "instructions": 3240253302, "cycles": 556433239, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 162.68116600000002, "user_us": 159355.0, "system_us": 3331.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240520083, "cycles": 555853532, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 170.561625, "user_us": 170407.0, "system_us": 3615.0, "rss_before": 34848768.0, "rss_after": 82575360.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 82984960, "instructions": 3629870490, "cycles": 619543867, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 210.305959, "user_us": 216146.0, "system_us": 3535.0, "rss_before": 64421888.0, "rss_after": 96239616.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97468416, "instructions": 3877105668, "cycles": 850652231, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 162.65870800000002, "user_us": 159291.0, "system_us": 3373.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240554857, "cycles": 556015866, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 170.597917, "user_us": 170264.0, "system_us": 4119.0, "rss_before": 34865152.0, "rss_after": 82624512.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83034112, "instructions": 3623341169, "cycles": 620767418, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 209.156833, "user_us": 215365.0, "system_us": 3569.0, "rss_before": 64536576.0, "rss_after": 96190464.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97484800, "instructions": 3882871654, "cycles": 850517874, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 162.47175000000001, "user_us": 159165.0, "system_us": 3314.0, "rss_before": 17612800.0, "rss_after": 69156864.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240591680, "cycles": 555502066, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 170.62229200000002, "user_us": 170529.0, "system_us": 3771.0, "rss_before": 34848768.0, "rss_after": 82657280.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83066880, "instructions": 3625491776, "cycles": 620100168, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 212.323, "user_us": 218320.0, "system_us": 3700.0, "rss_before": 64585728.0, "rss_after": 96272384.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97583104, "instructions": 3868396338, "cycles": 853397699, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 162.717042, "user_us": 159273.0, "system_us": 3449.0, "rss_before": 17629184.0, "rss_after": 69156864.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240325545, "cycles": 556470435, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 162.806, "user_us": 159425.0, "system_us": 3358.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240643052, "cycles": 556517813, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 162.970834, "user_us": 159152.0, "system_us": 3824.0, "rss_before": 17645568.0, "rss_after": 69173248.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69713920, "instructions": 3240386698, "cycles": 557379700, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 170.711, "user_us": 170533.0, "system_us": 3790.0, "rss_before": 34865152.0, "rss_after": 82624512.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83034112, "instructions": 3625004041, "cycles": 620643944, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 162.81279199999997, "user_us": 159391.0, "system_us": 3425.0, "rss_before": 17629184.0, "rss_after": 69124096.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69648384, "instructions": 3240405731, "cycles": 556358316, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 213.134084, "user_us": 218927.0, "system_us": 3740.0, "rss_before": 64569344.0, "rss_after": 96272384.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97566720, "instructions": 3875631126, "cycles": 859229283, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 170.88, "user_us": 170755.0, "system_us": 3884.0, "rss_before": 34848768.0, "rss_after": 82673664.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83083264, "instructions": 3626146257, "cycles": 621751373, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 205.755041, "user_us": 211664.0, "system_us": 3552.0, "rss_before": 64634880.0, "rss_after": 96256000.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97566720, "instructions": 3866970331, "cycles": 831901158, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 162.579875, "user_us": 159276.0, "system_us": 3307.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240267726, "cycles": 556036004, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 162.861291, "user_us": 159472.0, "system_us": 3394.0, "rss_before": 17629184.0, "rss_after": 69156864.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240342810, "cycles": 556579468, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 206.237166, "user_us": 212080.0, "system_us": 3505.0, "rss_before": 64323584.0, "rss_after": 96223232.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97550336, "instructions": 3876420511, "cycles": 837136445, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 170.738875, "user_us": 170653.0, "system_us": 3874.0, "rss_before": 34832384.0, "rss_after": 82591744.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83001344, "instructions": 3622597789, "cycles": 621183492, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 162.896667, "user_us": 159408.0, "system_us": 3494.0, "rss_before": 17612800.0, "rss_after": 69124096.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69648384, "instructions": 3240586327, "cycles": 556844496, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 162.741959, "user_us": 159318.0, "system_us": 3433.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240576310, "cycles": 556663063, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 163.024042, "user_us": 159446.0, "system_us": 3583.0, "rss_before": 17629184.0, "rss_after": 69124096.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69648384, "instructions": 3240334870, "cycles": 557456891, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 162.628667, "user_us": 159136.0, "system_us": 3496.0, "rss_before": 17645568.0, "rss_after": 69140480.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 69681152, "instructions": 3240586676, "cycles": 556102878, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 170.402542, "user_us": 170317.0, "system_us": 3754.0, "rss_before": 34848768.0, "rss_after": 82591744.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 83001344, "instructions": 3623476449, "cycles": 619916945, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 221.229834, "user_us": 227183.0, "system_us": 3505.0, "rss_before": 64389120.0, "rss_after": 96108544.0, "checksum": 83.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 81, "warmup": 2, "peak_rss": 97370112, "instructions": 3877825443, "cycles": 884216291, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 188.445167, "user_us": 188422.0, "system_us": 6233.0, "rss_before": 65601536.0, "rss_after": 135233536.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135806976, "instructions": 3819805298, "cycles": 750446348, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 220.3125, "user_us": 216379.0, "system_us": 5260.0, "rss_before": 37011456.0, "rss_after": 112197632.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 112590848, "instructions": 4266357167, "cycles": 772947803, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 149.110334, "user_us": 146333.0, "system_us": 2785.0, "rss_before": 20922368.0, "rss_after": 65601536.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66125824, "instructions": 3031303483, "cycles": 511435240, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 148.695459, "user_us": 145833.0, "system_us": 2870.0, "rss_before": 20938752.0, "rss_after": 65617920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66158592, "instructions": 3031096154, "cycles": 509758378, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 219.57358399999998, "user_us": 216050.0, "system_us": 4919.0, "rss_before": 36978688.0, "rss_after": 108347392.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 108740608, "instructions": 4265296643, "cycles": 770454190, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 188.487, "user_us": 188685.0, "system_us": 6168.0, "rss_before": 65601536.0, "rss_after": 135249920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135839744, "instructions": 3815708775, "cycles": 747792591, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 147.651917, "user_us": 144923.0, "system_us": 2737.0, "rss_before": 20938752.0, "rss_after": 65617920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66158592, "instructions": 3031222166, "cycles": 506406146, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 147.398958, "user_us": 144721.0, "system_us": 2683.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3031089127, "cycles": 505641837, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 219.75479199999998, "user_us": 215960.0, "system_us": 5108.0, "rss_before": 36978688.0, "rss_after": 108281856.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 108675072, "instructions": 4264736612, "cycles": 770599792, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 149.312084, "user_us": 146490.0, "system_us": 2831.0, "rss_before": 20922368.0, "rss_after": 65568768.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3031239512, "cycles": 511974915, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 187.297375, "user_us": 187824.0, "system_us": 6183.0, "rss_before": 65486848.0, "rss_after": 135118848.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135708672, "instructions": 3808682316, "cycles": 739239250, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 148.46900000000002, "user_us": 145719.0, "system_us": 2757.0, "rss_before": 20938752.0, "rss_after": 65617920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66158592, "instructions": 3030891343, "cycles": 509115968, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 219.818208, "user_us": 216162.0, "system_us": 4996.0, "rss_before": 37027840.0, "rss_after": 108347392.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 108740608, "instructions": 4265005440, "cycles": 772124601, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 187.017625, "user_us": 187308.0, "system_us": 6006.0, "rss_before": 65585152.0, "rss_after": 135069696.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135643136, "instructions": 3816143536, "cycles": 743729122, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 147.914917, "user_us": 145100.0, "system_us": 2823.0, "rss_before": 20938752.0, "rss_after": 65585152.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66125824, "instructions": 3031236524, "cycles": 507777198, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 148.08762500000003, "user_us": 145036.0, "system_us": 3057.0, "rss_before": 20922368.0, "rss_after": 65568768.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3031145489, "cycles": 507847307, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 219.77837499999998, "user_us": 216124.0, "system_us": 4941.0, "rss_before": 36978688.0, "rss_after": 108331008.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 108724224, "instructions": 4265033356, "cycles": 770328098, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 147.407458, "user_us": 144604.0, "system_us": 2811.0, "rss_before": 20922368.0, "rss_after": 65617920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66158592, "instructions": 3031045357, "cycles": 505896128, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 148.99645900000002, "user_us": 146367.0, "system_us": 2635.0, "rss_before": 20922368.0, "rss_after": 65601536.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66125824, "instructions": 3031098021, "cycles": 510750499, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 186.972208, "user_us": 187356.0, "system_us": 5670.0, "rss_before": 65552384.0, "rss_after": 135086080.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135659520, "instructions": 3807484500, "cycles": 735886693, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 219.922167, "user_us": 216214.0, "system_us": 5113.0, "rss_before": 37011456.0, "rss_after": 108363776.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 108756992, "instructions": 4264869002, "cycles": 771666045, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 190.50075, "user_us": 190651.0, "system_us": 5987.0, "rss_before": 65634304.0, "rss_after": 135249920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135839744, "instructions": 3809244436, "cycles": 747512035, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 148.31041700000003, "user_us": 145631.0, "system_us": 2686.0, "rss_before": 20938752.0, "rss_after": 65585152.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66125824, "instructions": 3031241545, "cycles": 508709042, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 149.341209, "user_us": 146568.0, "system_us": 2782.0, "rss_before": 20905984.0, "rss_after": 65568768.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030944039, "cycles": 511915502, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 190.639333, "user_us": 190653.0, "system_us": 6012.0, "rss_before": 65568768.0, "rss_after": 135135232.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 135659520, "instructions": 3814717640, "cycles": 753199553, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 148.415542, "user_us": 145449.0, "system_us": 2972.0, "rss_before": 20922368.0, "rss_after": 65568768.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66093056, "instructions": 3030978478, "cycles": 508976714, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 220.386458, "user_us": 216191.0, "system_us": 5568.0, "rss_before": 37011456.0, "rss_after": 113147904.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 113541120, "instructions": 4267151695, "cycles": 773194196, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 148.375208, "user_us": 145479.0, "system_us": 2896.0, "rss_before": 20922368.0, "rss_after": 65617920.0, "checksum": 203513079.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 229, "warmup": 2, "peak_rss": 66158592, "instructions": 3031073944, "cycles": 509090534, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 350.23012500000004, "user_us": 508329.0, "system_us": 17047.0, "rss_before": 125403136.0, "rss_after": 277561344.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 278953984, "instructions": 8480355175, "cycles": 1906882808, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 133.4205, "user_us": 116813.0, "system_us": 16609.0, "rss_before": 62881792.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2081104690, "cycles": 509435708, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 284.87195799999995, "user_us": 324235.0, "system_us": 6738.0, "rss_before": 68157440.0, "rss_after": 146030592.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 146440192, "instructions": 6775973246, "cycles": 1219479158, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 132.882084, "user_us": 116659.0, "system_us": 16230.0, "rss_before": 62865408.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080386017, "cycles": 507139544, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 132.259958, "user_us": 115925.0, "system_us": 16341.0, "rss_before": 62849024.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080944143, "cycles": 506063531, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 284.846166, "user_us": 328201.0, "system_us": 6680.0, "rss_before": 68157440.0, "rss_after": 147505152.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 147914752, "instructions": 6780080732, "cycles": 1225568070, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 368.7605, "user_us": 527979.0, "system_us": 17528.0, "rss_before": 125452288.0, "rss_after": 277610496.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 279085056, "instructions": 8476485581, "cycles": 1977648275, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 132.1945, "user_us": 116082.0, "system_us": 16121.0, "rss_before": 62881792.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2080562209, "cycles": 504855403, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 368.799209, "user_us": 528079.0, "system_us": 17243.0, "rss_before": 125452288.0, "rss_after": 277823488.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 278839296, "instructions": 8470344949, "cycles": 1972179715, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 284.779916, "user_us": 326700.0, "system_us": 6954.0, "rss_before": 68157440.0, "rss_after": 147587072.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 147996672, "instructions": 6768953101, "cycles": 1221966840, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 132.59733400000002, "user_us": 116260.0, "system_us": 16346.0, "rss_before": 62865408.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080927687, "cycles": 506620566, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 132.25512500000002, "user_us": 116065.0, "system_us": 16199.0, "rss_before": 62865408.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2080751567, "cycles": 506033310, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 284.052833, "user_us": 326613.0, "system_us": 6892.0, "rss_before": 68157440.0, "rss_after": 146948096.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 147357696, "instructions": 6759822234, "cycles": 1220141620, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 132.33225, "user_us": 116003.0, "system_us": 16340.0, "rss_before": 62881792.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2081119743, "cycles": 505868824, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 350.680792, "user_us": 507566.0, "system_us": 16915.0, "rss_before": 125386752.0, "rss_after": 277823488.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 278872064, "instructions": 8476691364, "cycles": 1899965998, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 132.618709, "user_us": 116259.0, "system_us": 16366.0, "rss_before": 62849024.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080437069, "cycles": 507029460, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 132.477666, "user_us": 116089.0, "system_us": 16394.0, "rss_before": 62865408.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2080677027, "cycles": 506471113, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 132.10912499999998, "user_us": 115949.0, "system_us": 16169.0, "rss_before": 62849024.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2081131439, "cycles": 505440112, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 352.747208, "user_us": 509867.0, "system_us": 16985.0, "rss_before": 125468672.0, "rss_after": 277315584.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 278822912, "instructions": 8480557675, "cycles": 1910696375, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 284.022833, "user_us": 324753.0, "system_us": 6469.0, "rss_before": 68108288.0, "rss_after": 146063360.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 146472960, "instructions": 6750811249, "cycles": 1215425875, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 133.02891699999998, "user_us": 116366.0, "system_us": 16672.0, "rss_before": 62865408.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080507506, "cycles": 508298379, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 357.04025, "user_us": 515973.0, "system_us": 17309.0, "rss_before": 125911040.0, "rss_after": 277659648.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 279085056, "instructions": 8457841742, "cycles": 1925400868, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 133.023458, "user_us": 116206.0, "system_us": 16825.0, "rss_before": 62865408.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2081087441, "cycles": 508319573, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 285.064584, "user_us": 328250.0, "system_us": 7006.0, "rss_before": 68141056.0, "rss_after": 147931136.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 148340736, "instructions": 6781010224, "cycles": 1226791533, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 353.542292, "user_us": 509733.0, "system_us": 16802.0, "rss_before": 125386752.0, "rss_after": 277643264.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 279117824, "instructions": 8492971693, "cycles": 1912684416, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 132.196458, "user_us": 115965.0, "system_us": 16242.0, "rss_before": 62849024.0, "rss_after": 113590272.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114098176, "instructions": 2080920792, "cycles": 505818878, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 132.459292, "user_us": 116257.0, "system_us": 16196.0, "rss_before": 62881792.0, "rss_after": 113606656.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 114130944, "instructions": 2080505016, "cycles": 505888877, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 284.407083, "user_us": 329087.0, "system_us": 6860.0, "rss_before": 68141056.0, "rss_after": 148340736.0, "checksum": 18.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 16, "warmup": 2, "peak_rss": 148750336, "instructions": 6793708544, "cycles": 1228255999, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 222.70804099999998, "user_us": 229642.0, "system_us": 6702.0, "rss_before": 84656128.0, "rss_after": 184369152.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 184778752, "instructions": 4980272216, "cycles": 921401127, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 195.75758299999998, "user_us": 205010.0, "system_us": 7585.0, "rss_before": 129810432.0, "rss_after": 166461440.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 223019008, "instructions": 4551857908, "cycles": 940112474, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 136.645416, "user_us": 134324.0, "system_us": 2330.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4130655286, "cycles": 695439453, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 137.427292, "user_us": 134989.0, "system_us": 2445.0, "rss_before": 90292224.0, "rss_after": 126500864.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127008768, "instructions": 4130916216, "cycles": 698287606, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 137.064708, "user_us": 134724.0, "system_us": 2347.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4131295583, "cycles": 696164992, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 194.59412500000002, "user_us": 202751.0, "system_us": 7755.0, "rss_before": 129974272.0, "rss_after": 166526976.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 223084544, "instructions": 4550387283, "cycles": 937393932, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 224.243416, "user_us": 228728.0, "system_us": 8073.0, "rss_before": 84787200.0, "rss_after": 205783040.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 206192640, "instructions": 4986956922, "cycles": 925788781, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 138.01354199999997, "user_us": 135865.0, "system_us": 2155.0, "rss_before": 90292224.0, "rss_after": 126500864.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127008768, "instructions": 4130776217, "cycles": 699323847, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 137.18591700000002, "user_us": 135080.0, "system_us": 2113.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4132690316, "cycles": 697716684, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 136.793792, "user_us": 134780.0, "system_us": 2011.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4131037134, "cycles": 694739766, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 193.398041, "user_us": 203747.0, "system_us": 6861.0, "rss_before": 129843200.0, "rss_after": 166313984.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 222871552, "instructions": 4548975542, "cycles": 923641198, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 221.852625, "user_us": 228201.0, "system_us": 5904.0, "rss_before": 84819968.0, "rss_after": 184631296.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 185040896, "instructions": 4979865157, "cycles": 915994593, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 136.962166, "user_us": 134947.0, "system_us": 2022.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127025152, "instructions": 4135067560, "cycles": 696436914, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 222.93937499999998, "user_us": 229391.0, "system_us": 7147.0, "rss_before": 84787200.0, "rss_after": 205832192.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 206241792, "instructions": 4988420114, "cycles": 923853089, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 196.031917, "user_us": 205988.0, "system_us": 7040.0, "rss_before": 129908736.0, "rss_after": 166281216.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 222838784, "instructions": 4551667274, "cycles": 936981938, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 136.603791, "user_us": 134454.0, "system_us": 2156.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4130847885, "cycles": 695303655, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 136.919625, "user_us": 134862.0, "system_us": 2065.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4134660975, "cycles": 695456301, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 137.564958, "user_us": 135464.0, "system_us": 2108.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4130636977, "cycles": 697264850, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 194.164375, "user_us": 199462.0, "system_us": 6673.0, "rss_before": 129892352.0, "rss_after": 166281216.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 222838784, "instructions": 4545499104, "cycles": 916910800, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 223.17904200000004, "user_us": 229528.0, "system_us": 7442.0, "rss_before": 84639744.0, "rss_after": 205799424.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 206209024, "instructions": 4989631364, "cycles": 922847530, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 137.023167, "user_us": 134896.0, "system_us": 2135.0, "rss_before": 90292224.0, "rss_after": 126500864.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127008768, "instructions": 4133203253, "cycles": 695644776, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 196.520292, "user_us": 205481.0, "system_us": 6821.0, "rss_before": 129794048.0, "rss_after": 173555712.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 223051776, "instructions": 4549750116, "cycles": 931752399, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 136.55683400000004, "user_us": 134414.0, "system_us": 2151.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4132754169, "cycles": 693942942, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 223.76870799999998, "user_us": 229484.0, "system_us": 7444.0, "rss_before": 84656128.0, "rss_after": 205799424.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 206209024, "instructions": 4987593462, "cycles": 922404104, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 136.957458, "user_us": 134908.0, "system_us": 2049.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127041536, "instructions": 4131802261, "cycles": 695000171, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 221.43641699999998, "user_us": 229296.0, "system_us": 6004.0, "rss_before": 84656128.0, "rss_after": 184614912.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 185024512, "instructions": 4980781315, "cycles": 917041045, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 137.056666, "user_us": 134967.0, "system_us": 2097.0, "rss_before": 90292224.0, "rss_after": 126500864.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 127008768, "instructions": 4130906082, "cycles": 695108007, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 193.01708399999998, "user_us": 202043.0, "system_us": 6910.0, "rss_before": 130007040.0, "rss_after": 166494208.0, "checksum": 218826830.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 29, "warmup": 2, "peak_rss": 223051776, "instructions": 4554095828, "cycles": 926444365, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 132.84108400000002, "user_us": 116669.0, "system_us": 16178.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027568440, "cycles": 510902681, "engine": "baseline", "operation": "sparse", "rep": 0} +{"wall_ms": 269.105667, "user_us": 310733.0, "system_us": 9373.0, "rss_before": 68141056.0, "rss_after": 193822720.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 194232320, "instructions": 6483497458, "cycles": 1177444405, "engine": "bun", "operation": "sparse", "rep": 0} +{"wall_ms": 132.86120799999998, "user_us": 116760.0, "system_us": 16109.0, "rss_before": 63291392.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027659299, "cycles": 510811759, "engine": "perry", "operation": "sparse", "rep": 0} +{"wall_ms": 323.917542, "user_us": 465822.0, "system_us": 17134.0, "rss_before": 125452288.0, "rss_after": 277282816.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 278822912, "instructions": 7955090117, "cycles": 1771779901, "engine": "node", "operation": "sparse", "rep": 0} +{"wall_ms": 343.243375, "user_us": 488689.0, "system_us": 16652.0, "rss_before": 125583360.0, "rss_after": 277692416.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 279117824, "instructions": 7951449968, "cycles": 1849874694, "engine": "node", "operation": "sparse", "rep": 1} +{"wall_ms": 132.772958, "user_us": 116954.0, "system_us": 15826.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027237819, "cycles": 509780461, "engine": "baseline", "operation": "sparse", "rep": 1} +{"wall_ms": 132.82825, "user_us": 116902.0, "system_us": 15934.0, "rss_before": 63291392.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027753987, "cycles": 511303518, "engine": "perry", "operation": "sparse", "rep": 1} +{"wall_ms": 268.388958, "user_us": 308920.0, "system_us": 8997.0, "rss_before": 68157440.0, "rss_after": 193806336.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 194215936, "instructions": 6478495828, "cycles": 1171647672, "engine": "bun", "operation": "sparse", "rep": 1} +{"wall_ms": 132.76658300000003, "user_us": 117083.0, "system_us": 15690.0, "rss_before": 63291392.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027385790, "cycles": 509903728, "engine": "perry", "operation": "sparse", "rep": 2} +{"wall_ms": 325.895542, "user_us": 468839.0, "system_us": 17419.0, "rss_before": 125485056.0, "rss_after": 277938176.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 279281664, "instructions": 7962121460, "cycles": 1785469636, "engine": "node", "operation": "sparse", "rep": 2} +{"wall_ms": 132.154667, "user_us": 116622.0, "system_us": 15539.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027148947, "cycles": 508061013, "engine": "baseline", "operation": "sparse", "rep": 2} +{"wall_ms": 268.944708, "user_us": 314417.0, "system_us": 9384.0, "rss_before": 68157440.0, "rss_after": 197246976.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 197656576, "instructions": 6519165875, "cycles": 1188099938, "engine": "bun", "operation": "sparse", "rep": 2} +{"wall_ms": 268.356625, "user_us": 314250.0, "system_us": 9433.0, "rss_before": 68157440.0, "rss_after": 197640192.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 198049792, "instructions": 6526779774, "cycles": 1187214709, "engine": "bun", "operation": "sparse", "rep": 3} +{"wall_ms": 132.71599999999998, "user_us": 116993.0, "system_us": 15730.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027347748, "cycles": 509574481, "engine": "baseline", "operation": "sparse", "rep": 3} +{"wall_ms": 321.1705, "user_us": 466084.0, "system_us": 17235.0, "rss_before": 125485056.0, "rss_after": 277544960.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 278872064, "instructions": 7954101022, "cycles": 1771762182, "engine": "node", "operation": "sparse", "rep": 3} +{"wall_ms": 133.01691699999998, "user_us": 116871.0, "system_us": 16153.0, "rss_before": 63307776.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027492389, "cycles": 511615113, "engine": "perry", "operation": "sparse", "rep": 3} +{"wall_ms": 133.495792, "user_us": 117650.0, "system_us": 15853.0, "rss_before": 63324160.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027603921, "cycles": 512839173, "engine": "baseline", "operation": "sparse", "rep": 4} +{"wall_ms": 269.228292, "user_us": 313607.0, "system_us": 9219.0, "rss_before": 68157440.0, "rss_after": 196182016.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 196591616, "instructions": 6505255589, "cycles": 1184999866, "engine": "bun", "operation": "sparse", "rep": 4} +{"wall_ms": 132.827958, "user_us": 116962.0, "system_us": 15873.0, "rss_before": 63291392.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027382210, "cycles": 509657033, "engine": "perry", "operation": "sparse", "rep": 4} +{"wall_ms": 341.383625, "user_us": 484442.0, "system_us": 16723.0, "rss_before": 125452288.0, "rss_after": 277512192.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 278888448, "instructions": 7960017267, "cycles": 1836571618, "engine": "node", "operation": "sparse", "rep": 4} +{"wall_ms": 324.25683300000003, "user_us": 459625.0, "system_us": 15886.0, "rss_before": 125517824.0, "rss_after": 277053440.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 278790144, "instructions": 7958377798, "cycles": 1757873369, "engine": "node", "operation": "sparse", "rep": 5} +{"wall_ms": 133.23566699999998, "user_us": 118128.0, "system_us": 15115.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2026899076, "cycles": 511130253, "engine": "baseline", "operation": "sparse", "rep": 5} +{"wall_ms": 132.82487500000002, "user_us": 117460.0, "system_us": 15372.0, "rss_before": 63307776.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027725728, "cycles": 509906651, "engine": "perry", "operation": "sparse", "rep": 5} +{"wall_ms": 268.73479100000003, "user_us": 313702.0, "system_us": 8839.0, "rss_before": 68141056.0, "rss_after": 196837376.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 197246976, "instructions": 6519488392, "cycles": 1183679684, "engine": "bun", "operation": "sparse", "rep": 5} +{"wall_ms": 133.11525, "user_us": 116886.0, "system_us": 16236.0, "rss_before": 63307776.0, "rss_after": 113983488.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114491392, "instructions": 2027529395, "cycles": 511620004, "engine": "baseline", "operation": "sparse", "rep": 6} +{"wall_ms": 345.063042, "user_us": 490616.0, "system_us": 16900.0, "rss_before": 125517824.0, "rss_after": 277676032.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 279232512, "instructions": 8042672930, "cycles": 1863985267, "engine": "node", "operation": "sparse", "rep": 6} +{"wall_ms": 133.02691600000003, "user_us": 117096.0, "system_us": 15936.0, "rss_before": 63307776.0, "rss_after": 113967104.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 114458624, "instructions": 2027604919, "cycles": 510748191, "engine": "perry", "operation": "sparse", "rep": 6} +{"wall_ms": 269.34333399999997, "user_us": 315065.0, "system_us": 9659.0, "rss_before": 68173824.0, "rss_after": 197574656.0, "checksum": 1002983.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 15, "warmup": 2, "peak_rss": 197984256, "instructions": 6528176292, "cycles": 1191368576, "engine": "bun", "operation": "sparse", "rep": 6} +{"wall_ms": 145.85150000000002, "user_us": 164490.0, "system_us": 5066.0, "rss_before": 71122944.0, "rss_after": 139722752.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 140132352, "instructions": 3818027861, "cycles": 710295902, "engine": "bun", "operation": "scan", "rep": 0} +{"wall_ms": 170.619375, "user_us": 224924.0, "system_us": 11000.0, "rss_before": 130514944.0, "rss_after": 240091136.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241582080, "instructions": 4907322317, "cycles": 1096647211, "engine": "node", "operation": "scan", "rep": 0} +{"wall_ms": 174.41166699999997, "user_us": 167137.0, "system_us": 7282.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4188257757, "cycles": 779371949, "engine": "baseline", "operation": "scan", "rep": 0} +{"wall_ms": 177.64262499999998, "user_us": 170833.0, "system_us": 6817.0, "rss_before": 80019456.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4186830813, "cycles": 781401238, "engine": "perry", "operation": "scan", "rep": 0} +{"wall_ms": 176.81991699999998, "user_us": 170293.0, "system_us": 6531.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4187475105, "cycles": 778579154, "engine": "baseline", "operation": "scan", "rep": 1} +{"wall_ms": 146.138958, "user_us": 166929.0, "system_us": 5426.0, "rss_before": 71122944.0, "rss_after": 139771904.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 140181504, "instructions": 3829141248, "cycles": 717620330, "engine": "bun", "operation": "scan", "rep": 1} +{"wall_ms": 174.01433399999996, "user_us": 166364.0, "system_us": 7657.0, "rss_before": 80035840.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4187839365, "cycles": 780627922, "engine": "perry", "operation": "scan", "rep": 1} +{"wall_ms": 189.338291, "user_us": 240294.0, "system_us": 11163.0, "rss_before": 130383872.0, "rss_after": 239534080.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 240992256, "instructions": 4932969726, "cycles": 1174651394, "engine": "node", "operation": "scan", "rep": 1} +{"wall_ms": 173.87975, "user_us": 166659.0, "system_us": 7210.0, "rss_before": 80019456.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4186929042, "cycles": 779682496, "engine": "perry", "operation": "scan", "rep": 2} +{"wall_ms": 145.53725, "user_us": 166220.0, "system_us": 4724.0, "rss_before": 71139328.0, "rss_after": 139395072.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 139804672, "instructions": 3825176225, "cycles": 713263615, "engine": "bun", "operation": "scan", "rep": 2} +{"wall_ms": 177.52499999999998, "user_us": 228992.0, "system_us": 10949.0, "rss_before": 130383872.0, "rss_after": 239747072.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241270784, "instructions": 4923507527, "cycles": 1121364210, "engine": "node", "operation": "scan", "rep": 2} +{"wall_ms": 177.01641700000002, "user_us": 170063.0, "system_us": 6949.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4187442081, "cycles": 781378185, "engine": "baseline", "operation": "scan", "rep": 2} +{"wall_ms": 174.69379099999998, "user_us": 167656.0, "system_us": 7043.0, "rss_before": 80019456.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4187331232, "cycles": 779192435, "engine": "perry", "operation": "scan", "rep": 3} +{"wall_ms": 150.749917, "user_us": 172810.0, "system_us": 5147.0, "rss_before": 71139328.0, "rss_after": 139804672.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 140214272, "instructions": 3832608644, "cycles": 726942398, "engine": "bun", "operation": "scan", "rep": 3} +{"wall_ms": 178.255834, "user_us": 171464.0, "system_us": 6798.0, "rss_before": 80052224.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4186471428, "cycles": 780197597, "engine": "baseline", "operation": "scan", "rep": 3} +{"wall_ms": 176.00683400000003, "user_us": 227974.0, "system_us": 11623.0, "rss_before": 130400256.0, "rss_after": 239910912.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241500160, "instructions": 4925561945, "cycles": 1121775704, "engine": "node", "operation": "scan", "rep": 3} +{"wall_ms": 173.78104100000002, "user_us": 166263.0, "system_us": 7525.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4185889440, "cycles": 778651788, "engine": "baseline", "operation": "scan", "rep": 4} +{"wall_ms": 145.670083, "user_us": 166070.0, "system_us": 5107.0, "rss_before": 71139328.0, "rss_after": 139771904.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 140181504, "instructions": 3824189432, "cycles": 714511500, "engine": "bun", "operation": "scan", "rep": 4} +{"wall_ms": 171.40324999999999, "user_us": 222023.0, "system_us": 11527.0, "rss_before": 130285568.0, "rss_after": 239517696.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241221632, "instructions": 4928611064, "cycles": 1099335160, "engine": "node", "operation": "scan", "rep": 4} +{"wall_ms": 174.11275, "user_us": 167281.0, "system_us": 6838.0, "rss_before": 80019456.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4188101546, "cycles": 781569161, "engine": "perry", "operation": "scan", "rep": 4} +{"wall_ms": 152.96920799999998, "user_us": 173727.0, "system_us": 4455.0, "rss_before": 71172096.0, "rss_after": 139378688.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 139788288, "instructions": 3822281170, "cycles": 721729307, "engine": "bun", "operation": "scan", "rep": 5} +{"wall_ms": 174.60337499999997, "user_us": 167379.0, "system_us": 7224.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4186132604, "cycles": 781304748, "engine": "baseline", "operation": "scan", "rep": 5} +{"wall_ms": 174.40358300000003, "user_us": 166512.0, "system_us": 7899.0, "rss_before": 80019456.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4186387673, "cycles": 781591646, "engine": "perry", "operation": "scan", "rep": 5} +{"wall_ms": 175.750916, "user_us": 226872.0, "system_us": 11035.0, "rss_before": 130285568.0, "rss_after": 239763456.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241270784, "instructions": 4922835052, "cycles": 1118723717, "engine": "node", "operation": "scan", "rep": 5} +{"wall_ms": 186.536542, "user_us": 239305.0, "system_us": 11418.0, "rss_before": 130301952.0, "rss_after": 239828992.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 241549312, "instructions": 4930677708, "cycles": 1164875784, "engine": "node", "operation": "scan", "rep": 6} +{"wall_ms": 174.32, "user_us": 166836.0, "system_us": 7491.0, "rss_before": 80035840.0, "rss_after": 195231744.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195821568, "instructions": 4186846056, "cycles": 781551028, "engine": "baseline", "operation": "scan", "rep": 6} +{"wall_ms": 146.17425, "user_us": 165569.0, "system_us": 4669.0, "rss_before": 71106560.0, "rss_after": 139575296.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 139984896, "instructions": 3822639481, "cycles": 709239836, "engine": "bun", "operation": "scan", "rep": 6} +{"wall_ms": 176.340625, "user_us": 169359.0, "system_us": 6992.0, "rss_before": 80035840.0, "rss_after": 195215360.0, "checksum": 17404705000.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 8, "warmup": 2, "peak_rss": 195788800, "instructions": 4187071324, "cycles": 778822477, "engine": "perry", "operation": "scan", "rep": 6} +{"wall_ms": 291.201791, "user_us": 308272.0, "system_us": 5378.0, "rss_before": 89489408.0, "rss_after": 152633344.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 153026560, "instructions": 6568138425, "cycles": 1221440966, "engine": "bun", "operation": "roundtrip", "rep": 0} +{"wall_ms": 145.551917, "user_us": 125644.0, "system_us": 19915.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2353813667, "cycles": 583470053, "engine": "perry", "operation": "roundtrip", "rep": 0} +{"wall_ms": 309.63075, "user_us": 388797.0, "system_us": 14265.0, "rss_before": 146718720.0, "rss_after": 258293760.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280379392, "instructions": 7349561749, "cycles": 1592712712, "engine": "node", "operation": "roundtrip", "rep": 0} +{"wall_ms": 143.89720799999998, "user_us": 125074.0, "system_us": 18828.0, "rss_before": 79560704.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353683357, "cycles": 578667014, "engine": "baseline", "operation": "roundtrip", "rep": 0} +{"wall_ms": 144.662792, "user_us": 125205.0, "system_us": 19462.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2354051250, "cycles": 582340163, "engine": "perry", "operation": "roundtrip", "rep": 1} +{"wall_ms": 144.051416, "user_us": 125157.0, "system_us": 18899.0, "rss_before": 79560704.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353760461, "cycles": 579313320, "engine": "baseline", "operation": "roundtrip", "rep": 1} +{"wall_ms": 280.520125, "user_us": 300693.0, "system_us": 6045.0, "rss_before": 89604096.0, "rss_after": 159793152.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 160186368, "instructions": 6635886977, "cycles": 1214003269, "engine": "bun", "operation": "roundtrip", "rep": 1} +{"wall_ms": 310.070833, "user_us": 389456.0, "system_us": 14316.0, "rss_before": 146767872.0, "rss_after": 258588672.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280428544, "instructions": 7367760274, "cycles": 1597618925, "engine": "node", "operation": "roundtrip", "rep": 1} +{"wall_ms": 144.424792, "user_us": 125377.0, "system_us": 19053.0, "rss_before": 79544320.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353564714, "cycles": 580322770, "engine": "baseline", "operation": "roundtrip", "rep": 2} +{"wall_ms": 280.350791, "user_us": 295073.0, "system_us": 5754.0, "rss_before": 89571328.0, "rss_after": 155320320.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 155713536, "instructions": 6567870636, "cycles": 1197558003, "engine": "bun", "operation": "roundtrip", "rep": 2} +{"wall_ms": 144.233, "user_us": 124915.0, "system_us": 19324.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2353306384, "cycles": 579087484, "engine": "perry", "operation": "roundtrip", "rep": 2} +{"wall_ms": 312.633875, "user_us": 390955.0, "system_us": 14013.0, "rss_before": 146669568.0, "rss_after": 258605056.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280428544, "instructions": 7377345140, "cycles": 1607642652, "engine": "node", "operation": "roundtrip", "rep": 2} +{"wall_ms": 144.498583, "user_us": 125096.0, "system_us": 19413.0, "rss_before": 79544320.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353498428, "cycles": 580499843, "engine": "baseline", "operation": "roundtrip", "rep": 3} +{"wall_ms": 305.291958, "user_us": 386360.0, "system_us": 14298.0, "rss_before": 146898944.0, "rss_after": 258736128.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280641536, "instructions": 7366810089, "cycles": 1583925455, "engine": "node", "operation": "roundtrip", "rep": 3} +{"wall_ms": 279.258834, "user_us": 294673.0, "system_us": 5773.0, "rss_before": 89522176.0, "rss_after": 154386432.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 154779648, "instructions": 6570549073, "cycles": 1194876323, "engine": "bun", "operation": "roundtrip", "rep": 3} +{"wall_ms": 144.17454099999998, "user_us": 124965.0, "system_us": 19216.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2353680482, "cycles": 579386656, "engine": "perry", "operation": "roundtrip", "rep": 3} +{"wall_ms": 143.704, "user_us": 125126.0, "system_us": 18583.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2353268150, "cycles": 576937328, "engine": "perry", "operation": "roundtrip", "rep": 4} +{"wall_ms": 144.80150000000003, "user_us": 125420.0, "system_us": 19380.0, "rss_before": 79544320.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353730888, "cycles": 581749085, "engine": "baseline", "operation": "roundtrip", "rep": 4} +{"wall_ms": 320.19562499999995, "user_us": 400020.0, "system_us": 14528.0, "rss_before": 146636800.0, "rss_after": 258490368.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280330240, "instructions": 7359579488, "cycles": 1637722804, "engine": "node", "operation": "roundtrip", "rep": 4} +{"wall_ms": 279.924542, "user_us": 300248.0, "system_us": 6292.0, "rss_before": 88850432.0, "rss_after": 158302208.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 158695424, "instructions": 6620665330, "cycles": 1208187387, "engine": "bun", "operation": "roundtrip", "rep": 4} +{"wall_ms": 144.560666, "user_us": 125364.0, "system_us": 19199.0, "rss_before": 79544320.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353592292, "cycles": 580521631, "engine": "baseline", "operation": "roundtrip", "rep": 5} +{"wall_ms": 320.68287499999997, "user_us": 398577.0, "system_us": 14033.0, "rss_before": 146800640.0, "rss_after": 258654208.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280559616, "instructions": 7360843805, "cycles": 1630209176, "engine": "node", "operation": "roundtrip", "rep": 5} +{"wall_ms": 279.859667, "user_us": 295412.0, "system_us": 5223.0, "rss_before": 89571328.0, "rss_after": 152731648.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 153124864, "instructions": 6567248529, "cycles": 1195602007, "engine": "bun", "operation": "roundtrip", "rep": 5} +{"wall_ms": 144.49404200000004, "user_us": 125178.0, "system_us": 19321.0, "rss_before": 79527936.0, "rss_after": 135020544.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135528448, "instructions": 2353573083, "cycles": 580961629, "engine": "perry", "operation": "roundtrip", "rep": 5} +{"wall_ms": 137.993, "user_us": 121327.0, "system_us": 16672.0, "rss_before": 79527936.0, "rss_after": 166445056.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 166952960, "instructions": 2313725750, "cycles": 560924428, "engine": "perry", "operation": "roundtrip", "rep": 6} +{"wall_ms": 279.12475, "user_us": 295363.0, "system_us": 5584.0, "rss_before": 89505792.0, "rss_after": 154550272.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 154959872, "instructions": 6560330259, "cycles": 1195721734, "engine": "bun", "operation": "roundtrip", "rep": 6} +{"wall_ms": 144.497458, "user_us": 125383.0, "system_us": 19121.0, "rss_before": 79544320.0, "rss_after": 135036928.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 135561216, "instructions": 2353752042, "cycles": 579866741, "engine": "baseline", "operation": "roundtrip", "rep": 6} +{"wall_ms": 307.057167, "user_us": 386647.0, "system_us": 13349.0, "rss_before": 146685952.0, "rss_after": 258490368.0, "checksum": 91766090.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 11, "warmup": 2, "peak_rss": 280444928, "instructions": 7358706228, "cycles": 1583153818, "engine": "node", "operation": "roundtrip", "rep": 6} +{"wall_ms": 199.328916, "user_us": 223689.0, "system_us": 5327.0, "rss_before": 68124672.0, "rss_after": 137674752.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 138084352, "instructions": 4517868022, "cycles": 906430876, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 159.52716600000002, "user_us": 151869.0, "system_us": 7665.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087555023, "cycles": 738892855, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 159.539458, "user_us": 151906.0, "system_us": 7640.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087419748, "cycles": 737931887, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 238.207833, "user_us": 338487.0, "system_us": 14505.0, "rss_before": 125435904.0, "rss_after": 252657664.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 255983616, "instructions": 6006752968, "cycles": 1420499453, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 159.42341700000003, "user_us": 151786.0, "system_us": 7647.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087872397, "cycles": 739127927, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 225.56904199999997, "user_us": 325686.0, "system_us": 14341.0, "rss_before": 125599744.0, "rss_after": 252952576.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256344064, "instructions": 5999349085, "cycles": 1367991286, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 159.073208, "user_us": 151421.0, "system_us": 7658.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087324367, "cycles": 735781061, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 178.51345799999999, "user_us": 203868.0, "system_us": 5492.0, "rss_before": 68157440.0, "rss_after": 137216000.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 137625600, "instructions": 4526437052, "cycles": 828214344, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 159.102292, "user_us": 151806.0, "system_us": 7303.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087156567, "cycles": 737729459, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 178.64379200000002, "user_us": 202861.0, "system_us": 5636.0, "rss_before": 68173824.0, "rss_after": 137805824.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 138215424, "instructions": 4523969870, "cycles": 825870048, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 160.445542, "user_us": 152260.0, "system_us": 8197.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087716773, "cycles": 741817660, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 237.70154099999996, "user_us": 336206.0, "system_us": 14145.0, "rss_before": 125386752.0, "rss_after": 252706816.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256065536, "instructions": 6008077739, "cycles": 1412234554, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 159.248333, "user_us": 151768.0, "system_us": 7487.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087349757, "cycles": 738013889, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 159.45354199999997, "user_us": 152009.0, "system_us": 7441.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087674274, "cycles": 738363176, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 178.389291, "user_us": 203274.0, "system_us": 5578.0, "rss_before": 68173824.0, "rss_after": 137084928.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 137494528, "instructions": 4527327196, "cycles": 826806874, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 218.09112499999998, "user_us": 316926.0, "system_us": 13983.0, "rss_before": 125452288.0, "rss_after": 252788736.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256147456, "instructions": 5998361488, "cycles": 1342488048, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 178.265125, "user_us": 204401.0, "system_us": 5303.0, "rss_before": 68173824.0, "rss_after": 137232384.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 137641984, "instructions": 4529564679, "cycles": 829448033, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 159.525375, "user_us": 151869.0, "system_us": 7663.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087520985, "cycles": 739257078, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 238.056084, "user_us": 336624.0, "system_us": 14368.0, "rss_before": 125485056.0, "rss_after": 252706816.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256065536, "instructions": 6005851631, "cycles": 1416203186, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 159.185792, "user_us": 151801.0, "system_us": 7391.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087384570, "cycles": 736465615, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 158.626959, "user_us": 151377.0, "system_us": 7257.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087350366, "cycles": 735519875, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 226.72000000000003, "user_us": 327741.0, "system_us": 14313.0, "rss_before": 125517824.0, "rss_after": 252985344.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256360448, "instructions": 6014214436, "cycles": 1381546820, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 179.07325, "user_us": 203377.0, "system_us": 5597.0, "rss_before": 68173824.0, "rss_after": 137805824.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 138215424, "instructions": 4521262864, "cycles": 827377338, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 159.417167, "user_us": 151822.0, "system_us": 7603.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087627475, "cycles": 738610707, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 159.75091700000002, "user_us": 151810.0, "system_us": 7947.0, "rss_before": 69255168.0, "rss_after": 195903488.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196444160, "instructions": 4087686922, "cycles": 738865221, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 219.218042, "user_us": 320058.0, "system_us": 14251.0, "rss_before": 125435904.0, "rss_after": 252821504.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 256212992, "instructions": 6000480354, "cycles": 1355318140, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 159.63458300000002, "user_us": 151911.0, "system_us": 7731.0, "rss_before": 69238784.0, "rss_after": 195887104.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 196411392, "instructions": 4087565190, "cycles": 739186276, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 178.099083, "user_us": 203385.0, "system_us": 5557.0, "rss_before": 68190208.0, "rss_after": 137609216.0, "checksum": 12.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 10, "warmup": 2, "peak_rss": 138018816, "instructions": 4526254929, "cycles": 827584394, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 137.887791, "user_us": 135458.0, "system_us": 2437.0, "rss_before": 90341376.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4130782133, "cycles": 698748918, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 225.31333300000003, "user_us": 229703.0, "system_us": 9279.0, "rss_before": 84656128.0, "rss_after": 227082240.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 227491840, "instructions": 4994891332, "cycles": 929590373, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 194.481084, "user_us": 203951.0, "system_us": 7617.0, "rss_before": 129892352.0, "rss_after": 166461440.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 223019008, "instructions": 4551188905, "cycles": 937832927, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 137.428292, "user_us": 135089.0, "system_us": 2351.0, "rss_before": 90357760.0, "rss_after": 126566400.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127090688, "instructions": 4132463360, "cycles": 698689160, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 223.731833, "user_us": 228868.0, "system_us": 7800.0, "rss_before": 84803584.0, "rss_after": 205930496.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 206340096, "instructions": 4986893311, "cycles": 925272899, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 194.146834, "user_us": 202518.0, "system_us": 7593.0, "rss_before": 129908736.0, "rss_after": 166494208.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 223051776, "instructions": 4547719195, "cycles": 926604959, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 139.74475, "user_us": 137203.0, "system_us": 2550.0, "rss_before": 90357760.0, "rss_after": 126566400.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127090688, "instructions": 4132605411, "cycles": 707244534, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 137.553917, "user_us": 135156.0, "system_us": 2405.0, "rss_before": 90341376.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4130829564, "cycles": 698248002, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 223.284125, "user_us": 230329.0, "system_us": 6812.0, "rss_before": 84688896.0, "rss_after": 184696832.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 185106432, "instructions": 4978507403, "cycles": 923647126, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 194.608792, "user_us": 202839.0, "system_us": 7571.0, "rss_before": 129843200.0, "rss_after": 166363136.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 222904320, "instructions": 4550996054, "cycles": 932940500, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 138.56541599999997, "user_us": 136141.0, "system_us": 2432.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4133311552, "cycles": 702907709, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 138.38125, "user_us": 135939.0, "system_us": 2449.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127025152, "instructions": 4132799812, "cycles": 701799021, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 138.57575, "user_us": 136331.0, "system_us": 2252.0, "rss_before": 90341376.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4133837627, "cycles": 701733918, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 193.891209, "user_us": 202495.0, "system_us": 7436.0, "rss_before": 129941504.0, "rss_after": 166395904.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 222953472, "instructions": 4551952256, "cycles": 930436497, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 224.37279099999998, "user_us": 229990.0, "system_us": 8193.0, "rss_before": 84787200.0, "rss_after": 205930496.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 206340096, "instructions": 4987103574, "cycles": 930118437, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 138.384459, "user_us": 136015.0, "system_us": 2373.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4134902728, "cycles": 701948909, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 225.27812500000002, "user_us": 230880.0, "system_us": 9145.0, "rss_before": 84672512.0, "rss_after": 227180544.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 227590144, "instructions": 4995779409, "cycles": 932958465, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 138.424208, "user_us": 136099.0, "system_us": 2308.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127025152, "instructions": 4132635279, "cycles": 701003367, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 138.14945799999998, "user_us": 135514.0, "system_us": 2642.0, "rss_before": 90341376.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127074304, "instructions": 4130942550, "cycles": 700428932, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 194.35475000000002, "user_us": 203135.0, "system_us": 7491.0, "rss_before": 130007040.0, "rss_after": 166395904.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 222937088, "instructions": 4545868291, "cycles": 934937969, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 223.10179100000002, "user_us": 230016.0, "system_us": 7894.0, "rss_before": 84656128.0, "rss_after": 205488128.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 205897728, "instructions": 4988214319, "cycles": 925875649, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 138.239417, "user_us": 135973.0, "system_us": 2274.0, "rss_before": 90341376.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4130717508, "cycles": 699123618, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 138.63520899999997, "user_us": 136266.0, "system_us": 2376.0, "rss_before": 90324992.0, "rss_after": 126533632.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127057920, "instructions": 4132682310, "cycles": 702726362, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 195.15245900000002, "user_us": 204356.0, "system_us": 7387.0, "rss_before": 129826816.0, "rss_after": 166264832.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 222822400, "instructions": 4554890960, "cycles": 943203009, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 223.11116700000002, "user_us": 229917.0, "system_us": 6972.0, "rss_before": 84623360.0, "rss_after": 184745984.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 185155584, "instructions": 4981039053, "cycles": 923547121, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 138.5285, "user_us": 136245.0, "system_us": 2291.0, "rss_before": 90324992.0, "rss_after": 126550016.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127074304, "instructions": 4131024488, "cycles": 701884195, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 138.296584, "user_us": 135886.0, "system_us": 2418.0, "rss_before": 90308608.0, "rss_after": 126517248.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 127025152, "instructions": 4130987929, "cycles": 701580119, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 193.36, "user_us": 199378.0, "system_us": 7249.0, "rss_before": 129744896.0, "rss_after": 166117376.0, "checksum": 218827202.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 29, "warmup": 2, "peak_rss": 222674944, "instructions": 4546833114, "cycles": 918261420, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 175.912167, "user_us": 206676.0, "system_us": 8323.0, "rss_before": 125943808.0, "rss_after": 230899712.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231309312, "instructions": 5637840281, "cycles": 1047758483, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 241.51362500000002, "user_us": 357592.0, "system_us": 16956.0, "rss_before": 234455040.0, "rss_after": 373833728.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377389056, "instructions": 7854648913, "cycles": 1832333017, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 158.973, "user_us": 151815.0, "system_us": 7166.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5813801190, "cycles": 1054391175, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 159.008208, "user_us": 151896.0, "system_us": 7119.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5823697427, "cycles": 1055386737, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 158.94079199999996, "user_us": 151667.0, "system_us": 7280.0, "rss_before": 163168256.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5813418406, "cycles": 1054021992, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 176.29145899999997, "user_us": 206526.0, "system_us": 8935.0, "rss_before": 126009344.0, "rss_after": 230621184.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231030784, "instructions": 5627334213, "cycles": 1047024017, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 159.048334, "user_us": 151743.0, "system_us": 7315.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5814385004, "cycles": 1054644683, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 251.156416, "user_us": 367595.0, "system_us": 16751.0, "rss_before": 234553344.0, "rss_after": 374013952.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377569280, "instructions": 7869737072, "cycles": 1888403458, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 175.993625, "user_us": 205718.0, "system_us": 8627.0, "rss_before": 125943808.0, "rss_after": 230866944.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231276544, "instructions": 5625614262, "cycles": 1045160251, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 232.80558299999998, "user_us": 360225.0, "system_us": 17286.0, "rss_before": 234405888.0, "rss_after": 373702656.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377225216, "instructions": 7882338468, "cycles": 1846156558, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 158.84974999999997, "user_us": 151707.0, "system_us": 7150.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5816583667, "cycles": 1054433852, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 158.911584, "user_us": 151624.0, "system_us": 7298.0, "rss_before": 163168256.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5814020390, "cycles": 1056235230, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 158.95575000000002, "user_us": 151701.0, "system_us": 7262.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5813494680, "cycles": 1054400254, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 158.76520900000003, "user_us": 151669.0, "system_us": 7103.0, "rss_before": 163184640.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5813344988, "cycles": 1053615256, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 177.951792, "user_us": 224700.0, "system_us": 10066.0, "rss_before": 127877120.0, "rss_after": 248397824.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 248807424, "instructions": 5891277903, "cycles": 1118685758, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 235.003625, "user_us": 355520.0, "system_us": 16933.0, "rss_before": 234356736.0, "rss_after": 373784576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377307136, "instructions": 7849835515, "cycles": 1817220693, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 158.798542, "user_us": 151780.0, "system_us": 7025.0, "rss_before": 163168256.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5812400060, "cycles": 1054785324, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 175.97804200000002, "user_us": 205151.0, "system_us": 8865.0, "rss_before": 125927424.0, "rss_after": 231047168.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231456768, "instructions": 5630248802, "cycles": 1041270087, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 240.20095899999998, "user_us": 362661.0, "system_us": 17335.0, "rss_before": 234487808.0, "rss_after": 373620736.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377176064, "instructions": 7852270693, "cycles": 1837926452, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 158.668292, "user_us": 151708.0, "system_us": 6971.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5812302052, "cycles": 1052513996, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 235.062417, "user_us": 369685.0, "system_us": 17166.0, "rss_before": 234471424.0, "rss_after": 373653504.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377192448, "instructions": 7887594799, "cycles": 1863755030, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 159.47291699999994, "user_us": 151877.0, "system_us": 7603.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811567825, "cycles": 1054759940, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 158.83758299999997, "user_us": 151731.0, "system_us": 7114.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5811858723, "cycles": 1052047346, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 177.58379099999996, "user_us": 220803.0, "system_us": 9708.0, "rss_before": 127549440.0, "rss_after": 247988224.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 248397824, "instructions": 5873533424, "cycles": 1102879501, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 159.39225, "user_us": 151699.0, "system_us": 7702.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5815663960, "cycles": 1055811039, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 159.03041599999997, "user_us": 151886.0, "system_us": 7151.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811477535, "cycles": 1052740921, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 175.17308299999996, "user_us": 205357.0, "system_us": 8069.0, "rss_before": 125894656.0, "rss_after": 230637568.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231047168, "instructions": 5636345994, "cycles": 1042428559, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 239.3175, "user_us": 372490.0, "system_us": 17548.0, "rss_before": 234455040.0, "rss_after": 373637120.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377192448, "instructions": 7862511471, "cycles": 1887125754, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 206.898708, "user_us": 194494.0, "system_us": 13547.0, "rss_before": 268337152.0, "rss_after": 481083392.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481837056, "instructions": 5682771570, "cycles": 1189459409, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 230.045083, "user_us": 232910.0, "system_us": 9416.0, "rss_before": 178077696.0, "rss_after": 319242240.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319635456, "instructions": 5976937760, "cycles": 1124541561, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 141.91549999999998, "user_us": 139408.0, "system_us": 2514.0, "rss_before": 210747392.0, "rss_after": 246120448.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6099319582, "cycles": 1058447918, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 141.57120799999998, "user_us": 139017.0, "system_us": 2560.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6101807854, "cycles": 1058391556, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 206.66412499999998, "user_us": 194405.0, "system_us": 13320.0, "rss_before": 268517376.0, "rss_after": 481280000.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 482000896, "instructions": 5685098267, "cycles": 1190149410, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 229.97549999999995, "user_us": 233870.0, "system_us": 9394.0, "rss_before": 177799168.0, "rss_after": 319127552.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319520768, "instructions": 5970629499, "cycles": 1124462498, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 141.481709, "user_us": 138818.0, "system_us": 2673.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6099399828, "cycles": 1055852825, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 141.278625, "user_us": 138684.0, "system_us": 2601.0, "rss_before": 210731008.0, "rss_after": 246104064.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246611968, "instructions": 6102133312, "cycles": 1057784313, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 230.207, "user_us": 233905.0, "system_us": 9321.0, "rss_before": 177963008.0, "rss_after": 319275008.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319668224, "instructions": 5970982058, "cycles": 1123826135, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 141.196375, "user_us": 138524.0, "system_us": 2679.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246644736, "instructions": 6099515093, "cycles": 1053800057, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 205.938333, "user_us": 193807.0, "system_us": 13289.0, "rss_before": 268386304.0, "rss_after": 481148928.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481787904, "instructions": 5682130577, "cycles": 1197187171, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 141.28600000000003, "user_us": 138785.0, "system_us": 2507.0, "rss_before": 210796544.0, "rss_after": 246169600.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246693888, "instructions": 6100429951, "cycles": 1057543377, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 230.61558300000002, "user_us": 232084.0, "system_us": 9825.0, "rss_before": 177389568.0, "rss_after": 319356928.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319750144, "instructions": 5970179580, "cycles": 1118905218, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 141.280917, "user_us": 138617.0, "system_us": 2671.0, "rss_before": 210796544.0, "rss_after": 246169600.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246693888, "instructions": 6100434202, "cycles": 1055863137, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 141.539084, "user_us": 138758.0, "system_us": 2788.0, "rss_before": 210731008.0, "rss_after": 246104064.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246611968, "instructions": 6099709442, "cycles": 1055471745, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 206.127167, "user_us": 193535.0, "system_us": 13765.0, "rss_before": 268337152.0, "rss_after": 481116160.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481804288, "instructions": 5685745538, "cycles": 1198486036, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 230.398875, "user_us": 231151.0, "system_us": 10083.0, "rss_before": 177815552.0, "rss_after": 319324160.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319717376, "instructions": 5974981928, "cycles": 1118269215, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 141.31883399999998, "user_us": 138787.0, "system_us": 2549.0, "rss_before": 210796544.0, "rss_after": 246169600.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246693888, "instructions": 6102248476, "cycles": 1057211482, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 205.97708400000002, "user_us": 194143.0, "system_us": 12965.0, "rss_before": 268419072.0, "rss_after": 481198080.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481869824, "instructions": 5681657083, "cycles": 1197089851, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 141.366458, "user_us": 138807.0, "system_us": 2566.0, "rss_before": 210731008.0, "rss_after": 246120448.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6101147461, "cycles": 1056617735, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 206.8295, "user_us": 194332.0, "system_us": 13590.0, "rss_before": 268386304.0, "rss_after": 481148928.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481804288, "instructions": 5684465627, "cycles": 1193204500, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 141.58345799999998, "user_us": 138753.0, "system_us": 2836.0, "rss_before": 210747392.0, "rss_after": 246120448.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6099768687, "cycles": 1057020175, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 231.17950000000002, "user_us": 233307.0, "system_us": 9826.0, "rss_before": 178110464.0, "rss_after": 319324160.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319717376, "instructions": 5972262452, "cycles": 1125637847, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 141.47925, "user_us": 138818.0, "system_us": 2655.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6100144248, "cycles": 1054725560, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 230.53058300000004, "user_us": 232099.0, "system_us": 9723.0, "rss_before": 177291264.0, "rss_after": 319324160.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 319717376, "instructions": 5973989714, "cycles": 1119939193, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 141.368917, "user_us": 138788.0, "system_us": 2591.0, "rss_before": 210747392.0, "rss_after": 246120448.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6099707220, "cycles": 1055275087, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 206.341, "user_us": 194181.0, "system_us": 13407.0, "rss_before": 268386304.0, "rss_after": 481214464.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 481869824, "instructions": 5678665281, "cycles": 1179209947, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 141.42662499999997, "user_us": 138718.0, "system_us": 2715.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693020.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6100667483, "cycles": 1057221277, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 176.832625, "user_us": 205757.0, "system_us": 8449.0, "rss_before": 125960192.0, "rss_after": 231276544.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231686144, "instructions": 5623537138, "cycles": 1041401165, "engine": "bun", "operation": "sparse", "rep": 0} +{"wall_ms": 158.64204200000003, "user_us": 151498.0, "system_us": 7154.0, "rss_before": 163233792.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811812152, "cycles": 1050484574, "engine": "perry", "operation": "sparse", "rep": 0} +{"wall_ms": 158.964, "user_us": 151694.0, "system_us": 7277.0, "rss_before": 163266560.0, "rss_after": 267321344.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5812956935, "cycles": 1052911934, "engine": "baseline", "operation": "sparse", "rep": 0} +{"wall_ms": 238.865875, "user_us": 356553.0, "system_us": 16592.0, "rss_before": 234389504.0, "rss_after": 374013952.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377552896, "instructions": 7847734853, "cycles": 1824290802, "engine": "node", "operation": "sparse", "rep": 0} +{"wall_ms": 158.739584, "user_us": 151653.0, "system_us": 7088.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5812271197, "cycles": 1051157964, "engine": "baseline", "operation": "sparse", "rep": 1} +{"wall_ms": 235.78162500000002, "user_us": 363618.0, "system_us": 16966.0, "rss_before": 234487808.0, "rss_after": 373948416.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377503744, "instructions": 7870573268, "cycles": 1850509469, "engine": "node", "operation": "sparse", "rep": 1} +{"wall_ms": 175.815583, "user_us": 206449.0, "system_us": 8534.0, "rss_before": 125960192.0, "rss_after": 231112704.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231522304, "instructions": 5630321757, "cycles": 1044234921, "engine": "bun", "operation": "sparse", "rep": 1} +{"wall_ms": 158.97708400000005, "user_us": 151853.0, "system_us": 7132.0, "rss_before": 163233792.0, "rss_after": 267288576.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811617722, "cycles": 1050766261, "engine": "perry", "operation": "sparse", "rep": 1} +{"wall_ms": 241.308375, "user_us": 367511.0, "system_us": 16741.0, "rss_before": 234373120.0, "rss_after": 373506048.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377028608, "instructions": 7874957900, "cycles": 1881833174, "engine": "node", "operation": "sparse", "rep": 2} +{"wall_ms": 158.60333300000002, "user_us": 151568.0, "system_us": 7046.0, "rss_before": 163233792.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811728017, "cycles": 1051681425, "engine": "perry", "operation": "sparse", "rep": 2} +{"wall_ms": 179.293, "user_us": 235912.0, "system_us": 11180.0, "rss_before": 128008192.0, "rss_after": 264896512.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 265306112, "instructions": 6084588208, "cycles": 1148959756, "engine": "bun", "operation": "sparse", "rep": 2} +{"wall_ms": 158.98854100000003, "user_us": 151883.0, "system_us": 7113.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5814887918, "cycles": 1051727591, "engine": "baseline", "operation": "sparse", "rep": 2} +{"wall_ms": 238.1065, "user_us": 358782.0, "system_us": 17244.0, "rss_before": 234356736.0, "rss_after": 373768192.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377274368, "instructions": 7856293756, "cycles": 1829514892, "engine": "node", "operation": "sparse", "rep": 3} +{"wall_ms": 159.40233300000003, "user_us": 152209.0, "system_us": 7191.0, "rss_before": 163233792.0, "rss_after": 267288576.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811387934, "cycles": 1052164741, "engine": "perry", "operation": "sparse", "rep": 3} +{"wall_ms": 176.289, "user_us": 205822.0, "system_us": 8509.0, "rss_before": 125894656.0, "rss_after": 231014400.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231424000, "instructions": 5637003551, "cycles": 1044331842, "engine": "bun", "operation": "sparse", "rep": 3} +{"wall_ms": 158.92312500000003, "user_us": 151667.0, "system_us": 7267.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5811872255, "cycles": 1054598739, "engine": "baseline", "operation": "sparse", "rep": 3} +{"wall_ms": 175.709209, "user_us": 205821.0, "system_us": 8492.0, "rss_before": 125894656.0, "rss_after": 230899712.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231309312, "instructions": 5638022765, "cycles": 1042790944, "engine": "bun", "operation": "sparse", "rep": 4} +{"wall_ms": 159.12049999999996, "user_us": 151814.0, "system_us": 7313.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5815291698, "cycles": 1054872130, "engine": "baseline", "operation": "sparse", "rep": 4} +{"wall_ms": 222.66945800000002, "user_us": 352693.0, "system_us": 16874.0, "rss_before": 234438656.0, "rss_after": 373571584.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377110528, "instructions": 7856405810, "cycles": 1806164021, "engine": "node", "operation": "sparse", "rep": 4} +{"wall_ms": 158.623875, "user_us": 151447.0, "system_us": 7183.0, "rss_before": 163233792.0, "rss_after": 267288576.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811548123, "cycles": 1051200758, "engine": "perry", "operation": "sparse", "rep": 4} +{"wall_ms": 158.64000000000001, "user_us": 151432.0, "system_us": 7216.0, "rss_before": 163233792.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811282745, "cycles": 1050663649, "engine": "perry", "operation": "sparse", "rep": 5} +{"wall_ms": 159.020791, "user_us": 151930.0, "system_us": 7088.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5812183053, "cycles": 1052737717, "engine": "baseline", "operation": "sparse", "rep": 5} +{"wall_ms": 234.916833, "user_us": 356643.0, "system_us": 17711.0, "rss_before": 234405888.0, "rss_after": 373932032.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377454592, "instructions": 7844361743, "cycles": 1814085573, "engine": "node", "operation": "sparse", "rep": 5} +{"wall_ms": 176.48420900000002, "user_us": 205670.0, "system_us": 8579.0, "rss_before": 125861888.0, "rss_after": 231112704.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231522304, "instructions": 5637217506, "cycles": 1044597509, "engine": "bun", "operation": "sparse", "rep": 5} +{"wall_ms": 242.14941699999997, "user_us": 370154.0, "system_us": 16847.0, "rss_before": 234438656.0, "rss_after": 373915648.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 377454592, "instructions": 7850902840, "cycles": 1878332449, "engine": "node", "operation": "sparse", "rep": 6} +{"wall_ms": 158.69241700000003, "user_us": 151545.0, "system_us": 7154.0, "rss_before": 163250176.0, "rss_after": 267321344.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5811681619, "cycles": 1050958340, "engine": "baseline", "operation": "sparse", "rep": 6} +{"wall_ms": 159.20945800000004, "user_us": 151677.0, "system_us": 7540.0, "rss_before": 163233792.0, "rss_after": 267304960.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5813614994, "cycles": 1052112060, "engine": "perry", "operation": "sparse", "rep": 6} +{"wall_ms": 196.61599999999999, "user_us": 226741.0, "system_us": 8515.0, "rss_before": 125911040.0, "rss_after": 230850560.0, "checksum": 869994.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 231260160, "instructions": 5619028607, "cycles": 1142956462, "engine": "bun", "operation": "sparse", "rep": 6} +{"wall_ms": 163.62866700000006, "user_us": 156244.0, "system_us": 7391.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5926709829, "cycles": 1073684732, "engine": "perry", "operation": "scan", "rep": 0} +{"wall_ms": 163.21658299999999, "user_us": 155972.0, "system_us": 7253.0, "rss_before": 163266560.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5927511670, "cycles": 1070819625, "engine": "baseline", "operation": "scan", "rep": 0} +{"wall_ms": 233.972042, "user_us": 343082.0, "system_us": 14248.0, "rss_before": 239206400.0, "rss_after": 344506368.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 346898432, "instructions": 7842649807, "cycles": 1802817629, "engine": "node", "operation": "scan", "rep": 0} +{"wall_ms": 178.979417, "user_us": 209006.0, "system_us": 8729.0, "rss_before": 128974848.0, "rss_after": 236666880.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 237076480, "instructions": 5701756196, "cycles": 1064727976, "engine": "bun", "operation": "scan", "rep": 0} +{"wall_ms": 163.65683299999998, "user_us": 156046.0, "system_us": 7618.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5926820120, "cycles": 1073921405, "engine": "perry", "operation": "scan", "rep": 1} +{"wall_ms": 225.60750000000002, "user_us": 347171.0, "system_us": 14227.0, "rss_before": 239566848.0, "rss_after": 344391680.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 346783744, "instructions": 7832517740, "cycles": 1805628947, "engine": "node", "operation": "scan", "rep": 1} +{"wall_ms": 163.211917, "user_us": 155843.0, "system_us": 7376.0, "rss_before": 163266560.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5933461722, "cycles": 1073170265, "engine": "baseline", "operation": "scan", "rep": 1} +{"wall_ms": 178.564209, "user_us": 208842.0, "system_us": 8325.0, "rss_before": 128942080.0, "rss_after": 236699648.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 237109248, "instructions": 5698469712, "cycles": 1062301136, "engine": "bun", "operation": "scan", "rep": 1} +{"wall_ms": 178.72387500000002, "user_us": 206461.0, "system_us": 8895.0, "rss_before": 129024000.0, "rss_after": 233668608.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 234078208, "instructions": 5701031055, "cycles": 1059833710, "engine": "bun", "operation": "scan", "rep": 2} +{"wall_ms": 163.31724999999997, "user_us": 156028.0, "system_us": 7291.0, "rss_before": 163266560.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5927180162, "cycles": 1071902470, "engine": "baseline", "operation": "scan", "rep": 2} +{"wall_ms": 163.19112499999997, "user_us": 155871.0, "system_us": 7329.0, "rss_before": 163250176.0, "rss_after": 267321344.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5926301957, "cycles": 1071293556, "engine": "perry", "operation": "scan", "rep": 2} +{"wall_ms": 235.370166, "user_us": 355195.0, "system_us": 14085.0, "rss_before": 239484928.0, "rss_after": 344588288.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 346996736, "instructions": 7829195297, "cycles": 1845377484, "engine": "node", "operation": "scan", "rep": 2} +{"wall_ms": 163.28779200000002, "user_us": 155941.0, "system_us": 7351.0, "rss_before": 163250176.0, "rss_after": 267304960.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5926402647, "cycles": 1071230547, "engine": "perry", "operation": "scan", "rep": 3} +{"wall_ms": 163.43412500000002, "user_us": 155980.0, "system_us": 7462.0, "rss_before": 163266560.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5931296971, "cycles": 1072998312, "engine": "baseline", "operation": "scan", "rep": 3} +{"wall_ms": 237.24791699999997, "user_us": 356339.0, "system_us": 14755.0, "rss_before": 239419392.0, "rss_after": 342966272.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 345341952, "instructions": 7842401984, "cycles": 1866702093, "engine": "node", "operation": "scan", "rep": 3} +{"wall_ms": 178.9835, "user_us": 206900.0, "system_us": 7894.0, "rss_before": 129007616.0, "rss_after": 233701376.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 234110976, "instructions": 5695840392, "cycles": 1058093145, "engine": "bun", "operation": "scan", "rep": 3} +{"wall_ms": 218.60241599999998, "user_us": 338676.0, "system_us": 13441.0, "rss_before": 239534080.0, "rss_after": 343080960.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 345849856, "instructions": 7836761117, "cycles": 1777988721, "engine": "node", "operation": "scan", "rep": 4} +{"wall_ms": 180.131958, "user_us": 222501.0, "system_us": 9831.0, "rss_before": 130727936.0, "rss_after": 249741312.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 250150912, "instructions": 5942289601, "cycles": 1124706216, "engine": "bun", "operation": "scan", "rep": 4} +{"wall_ms": 163.293167, "user_us": 155955.0, "system_us": 7343.0, "rss_before": 163282944.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5926542207, "cycles": 1072296187, "engine": "baseline", "operation": "scan", "rep": 4} +{"wall_ms": 163.44041699999997, "user_us": 155920.0, "system_us": 7533.0, "rss_before": 163250176.0, "rss_after": 267321344.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5926611563, "cycles": 1071120665, "engine": "perry", "operation": "scan", "rep": 4} +{"wall_ms": 178.20020899999997, "user_us": 205972.0, "system_us": 8433.0, "rss_before": 129073152.0, "rss_after": 233160704.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 233570304, "instructions": 5687178656, "cycles": 1056945763, "engine": "bun", "operation": "scan", "rep": 5} +{"wall_ms": 162.82679100000001, "user_us": 155715.0, "system_us": 7119.0, "rss_before": 163266560.0, "rss_after": 267321344.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5930577671, "cycles": 1068434235, "engine": "baseline", "operation": "scan", "rep": 5} +{"wall_ms": 163.36454199999997, "user_us": 155974.0, "system_us": 7399.0, "rss_before": 163250176.0, "rss_after": 267321344.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5926383930, "cycles": 1070617751, "engine": "perry", "operation": "scan", "rep": 5} +{"wall_ms": 225.469917, "user_us": 345462.0, "system_us": 14108.0, "rss_before": 239190016.0, "rss_after": 344555520.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 346947584, "instructions": 7847621061, "cycles": 1796057905, "engine": "node", "operation": "scan", "rep": 5} +{"wall_ms": 178.28074999999995, "user_us": 209060.0, "system_us": 8429.0, "rss_before": 128974848.0, "rss_after": 236453888.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 236863488, "instructions": 5698249352, "cycles": 1063107959, "engine": "bun", "operation": "scan", "rep": 6} +{"wall_ms": 163.19658300000003, "user_us": 155810.0, "system_us": 7395.0, "rss_before": 163266560.0, "rss_after": 267337728.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267878400, "instructions": 5927558796, "cycles": 1072327347, "engine": "baseline", "operation": "scan", "rep": 6} +{"wall_ms": 163.48674999999997, "user_us": 155967.0, "system_us": 7527.0, "rss_before": 163250176.0, "rss_after": 267321344.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5926720118, "cycles": 1071619883, "engine": "perry", "operation": "scan", "rep": 6} +{"wall_ms": 229.612458, "user_us": 338844.0, "system_us": 14152.0, "rss_before": 239222784.0, "rss_after": 344702976.0, "checksum": 63074565000.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 4, "warmup": 2, "peak_rss": 347062272, "instructions": 7827646808, "cycles": 1768054561, "engine": "node", "operation": "scan", "rep": 6} +{"wall_ms": 198.466542, "user_us": 191162.0, "system_us": 7311.0, "rss_before": 215842816.0, "rss_after": 309182464.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309690368, "instructions": 8890678510, "cycles": 1526227884, "engine": "perry", "operation": "roundtrip", "rep": 0} +{"wall_ms": 152.945666, "user_us": 201924.0, "system_us": 9338.0, "rss_before": 285409280.0, "rss_after": 320946176.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 358580224, "instructions": 6117056621, "cycles": 1398215286, "engine": "node", "operation": "roundtrip", "rep": 0} +{"wall_ms": 198.70891699999999, "user_us": 191696.0, "system_us": 7024.0, "rss_before": 215875584.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8889318711, "cycles": 1527400790, "engine": "baseline", "operation": "roundtrip", "rep": 0} +{"wall_ms": 130.343166, "user_us": 147767.0, "system_us": 6909.0, "rss_before": 171196416.0, "rss_after": 268288000.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 268681216, "instructions": 5282526783, "cycles": 1004342735, "engine": "bun", "operation": "roundtrip", "rep": 0} +{"wall_ms": 198.57020899999998, "user_us": 191174.0, "system_us": 7406.0, "rss_before": 215891968.0, "rss_after": 309215232.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8878706155, "cycles": 1527591512, "engine": "perry", "operation": "roundtrip", "rep": 1} +{"wall_ms": 198.28058299999998, "user_us": 191350.0, "system_us": 6944.0, "rss_before": 215859200.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8875529406, "cycles": 1524965895, "engine": "baseline", "operation": "roundtrip", "rep": 1} +{"wall_ms": 149.74687500000002, "user_us": 196758.0, "system_us": 8555.0, "rss_before": 285392896.0, "rss_after": 320995328.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 358629376, "instructions": 6127361020, "cycles": 1375563337, "engine": "node", "operation": "roundtrip", "rep": 1} +{"wall_ms": 130.018458, "user_us": 146944.0, "system_us": 7055.0, "rss_before": 171524096.0, "rss_after": 268664832.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 269058048, "instructions": 5278913060, "cycles": 1001478930, "engine": "bun", "operation": "roundtrip", "rep": 1} +{"wall_ms": 198.07999999999998, "user_us": 191102.0, "system_us": 6984.0, "rss_before": 215875584.0, "rss_after": 309182464.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309690368, "instructions": 8885037797, "cycles": 1525316449, "engine": "perry", "operation": "roundtrip", "rep": 2} +{"wall_ms": 150.17737500000004, "user_us": 191753.0, "system_us": 8253.0, "rss_before": 285573120.0, "rss_after": 322879488.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 360529920, "instructions": 6127452223, "cycles": 1359830155, "engine": "node", "operation": "roundtrip", "rep": 2} +{"wall_ms": 198.48449999999997, "user_us": 191527.0, "system_us": 6966.0, "rss_before": 215891968.0, "rss_after": 309231616.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309755904, "instructions": 8876203766, "cycles": 1524340979, "engine": "baseline", "operation": "roundtrip", "rep": 2} +{"wall_ms": 130.88866699999997, "user_us": 146959.0, "system_us": 7238.0, "rss_before": 171409408.0, "rss_after": 267321344.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 267714560, "instructions": 5269858367, "cycles": 1001812833, "engine": "bun", "operation": "roundtrip", "rep": 2} +{"wall_ms": 198.80891699999995, "user_us": 191765.0, "system_us": 7054.0, "rss_before": 215859200.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309706752, "instructions": 8899255197, "cycles": 1528567379, "engine": "perry", "operation": "roundtrip", "rep": 3} +{"wall_ms": 130.98029200000002, "user_us": 147469.0, "system_us": 7166.0, "rss_before": 171507712.0, "rss_after": 268009472.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 268402688, "instructions": 5272372567, "cycles": 1000813796, "engine": "bun", "operation": "roundtrip", "rep": 3} +{"wall_ms": 198.70804200000003, "user_us": 191236.0, "system_us": 7485.0, "rss_before": 215891968.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8892438932, "cycles": 1529137281, "engine": "baseline", "operation": "roundtrip", "rep": 3} +{"wall_ms": 149.42587500000002, "user_us": 198299.0, "system_us": 9124.0, "rss_before": 285474816.0, "rss_after": 321110016.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 358744064, "instructions": 6131219270, "cycles": 1395767226, "engine": "node", "operation": "roundtrip", "rep": 3} +{"wall_ms": 198.57975, "user_us": 191393.0, "system_us": 7194.0, "rss_before": 215891968.0, "rss_after": 309182464.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309690368, "instructions": 8876918101, "cycles": 1530069029, "engine": "perry", "operation": "roundtrip", "rep": 4} +{"wall_ms": 131.097, "user_us": 147403.0, "system_us": 7173.0, "rss_before": 171491328.0, "rss_after": 267452416.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 267845632, "instructions": 5273070251, "cycles": 1002090508, "engine": "bun", "operation": "roundtrip", "rep": 4} +{"wall_ms": 157.78962500000003, "user_us": 199905.0, "system_us": 8596.0, "rss_before": 285474816.0, "rss_after": 322748416.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 360366080, "instructions": 6122852543, "cycles": 1407934305, "engine": "node", "operation": "roundtrip", "rep": 4} +{"wall_ms": 198.46620900000005, "user_us": 191235.0, "system_us": 7243.0, "rss_before": 215859200.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8889482046, "cycles": 1528308226, "engine": "baseline", "operation": "roundtrip", "rep": 4} +{"wall_ms": 153.742167, "user_us": 200871.0, "system_us": 8766.0, "rss_before": 285458432.0, "rss_after": 320995328.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 358612992, "instructions": 6129161282, "cycles": 1404283676, "engine": "node", "operation": "roundtrip", "rep": 5} +{"wall_ms": 198.78129100000007, "user_us": 191554.0, "system_us": 7218.0, "rss_before": 215875584.0, "rss_after": 309182464.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309690368, "instructions": 8888592214, "cycles": 1527674224, "engine": "perry", "operation": "roundtrip", "rep": 5} +{"wall_ms": 198.571375, "user_us": 191512.0, "system_us": 7073.0, "rss_before": 215875584.0, "rss_after": 309231616.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309755904, "instructions": 8901209501, "cycles": 1528301386, "engine": "baseline", "operation": "roundtrip", "rep": 5} +{"wall_ms": 130.139875, "user_us": 146045.0, "system_us": 7107.0, "rss_before": 171212800.0, "rss_after": 267091968.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 267485184, "instructions": 5262417527, "cycles": 996957376, "engine": "bun", "operation": "roundtrip", "rep": 5} +{"wall_ms": 198.29166600000002, "user_us": 191231.0, "system_us": 7070.0, "rss_before": 215859200.0, "rss_after": 309198848.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309723136, "instructions": 8884362880, "cycles": 1525373031, "engine": "baseline", "operation": "roundtrip", "rep": 6} +{"wall_ms": 199.05070899999998, "user_us": 191731.0, "system_us": 7329.0, "rss_before": 215875584.0, "rss_after": 309182464.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 309690368, "instructions": 8875672517, "cycles": 1530873232, "engine": "perry", "operation": "roundtrip", "rep": 6} +{"wall_ms": 130.430208, "user_us": 146958.0, "system_us": 7217.0, "rss_before": 171540480.0, "rss_after": 268500992.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 268894208, "instructions": 5276198873, "cycles": 1001481385, "engine": "bun", "operation": "roundtrip", "rep": 6} +{"wall_ms": 149.45541599999999, "user_us": 192416.0, "system_us": 8690.0, "rss_before": 285491200.0, "rss_after": 322732032.0, "checksum": 70483720.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 2, "warmup": 2, "peak_rss": 360382464, "instructions": 6122896534, "cycles": 1357219208, "engine": "node", "operation": "roundtrip", "rep": 6} +{"wall_ms": 236.02520800000002, "user_us": 354448.0, "system_us": 17074.0, "rss_before": 234471424.0, "rss_after": 373260288.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 376799232, "instructions": 7842860199, "cycles": 1815939538, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 158.922542, "user_us": 151795.0, "system_us": 7138.0, "rss_before": 163168256.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267845632, "instructions": 5810877397, "cycles": 1051283772, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 158.70049999999998, "user_us": 151589.0, "system_us": 7118.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5818326166, "cycles": 1050872428, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 179.678875, "user_us": 225885.0, "system_us": 10083.0, "rss_before": 127926272.0, "rss_after": 248102912.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 248512512, "instructions": 5882356267, "cycles": 1116312986, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 245.02720900000003, "user_us": 367944.0, "system_us": 17190.0, "rss_before": 234438656.0, "rss_after": 373964800.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 377487360, "instructions": 7873423075, "cycles": 1878084633, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 158.938291, "user_us": 151764.0, "system_us": 7185.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5810586042, "cycles": 1051711640, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 158.80375, "user_us": 151701.0, "system_us": 7113.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811211120, "cycles": 1051178379, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 177.43325, "user_us": 224375.0, "system_us": 9915.0, "rss_before": 127926272.0, "rss_after": 248119296.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 248528896, "instructions": 5881756484, "cycles": 1109022911, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 158.87945800000003, "user_us": 151763.0, "system_us": 7122.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5818395155, "cycles": 1051175250, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 158.60862499999996, "user_us": 151671.0, "system_us": 6944.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811100970, "cycles": 1050315979, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 175.33083299999998, "user_us": 205878.0, "system_us": 8426.0, "rss_before": 125845504.0, "rss_after": 231129088.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 231538688, "instructions": 5640427381, "cycles": 1043909583, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 235.366875, "user_us": 368950.0, "system_us": 17925.0, "rss_before": 234422272.0, "rss_after": 373620736.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 377159680, "instructions": 7851969100, "cycles": 1865457930, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 158.66708299999996, "user_us": 151537.0, "system_us": 7136.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5810959428, "cycles": 1049839122, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 158.86991600000002, "user_us": 151769.0, "system_us": 7111.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811465416, "cycles": 1052324964, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 254.71124999999998, "user_us": 379248.0, "system_us": 17747.0, "rss_before": 234373120.0, "rss_after": 373440512.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 376930304, "instructions": 7871669230, "cycles": 1919526014, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 175.254417, "user_us": 205740.0, "system_us": 8324.0, "rss_before": 125911040.0, "rss_after": 231440384.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 231849984, "instructions": 5631430037, "cycles": 1041852628, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 158.944375, "user_us": 151362.0, "system_us": 7590.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5811206733, "cycles": 1053255115, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 176.204833, "user_us": 206052.0, "system_us": 8441.0, "rss_before": 125927424.0, "rss_after": 231145472.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 231555072, "instructions": 5634856514, "cycles": 1042689497, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 158.624416, "user_us": 151559.0, "system_us": 7075.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5811505336, "cycles": 1051324381, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 226.682417, "user_us": 357261.0, "system_us": 17115.0, "rss_before": 234356736.0, "rss_after": 373768192.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 377323520, "instructions": 7861495554, "cycles": 1814720871, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 158.91695799999997, "user_us": 151702.0, "system_us": 7220.0, "rss_before": 163168256.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5814830493, "cycles": 1052819588, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 175.53033299999998, "user_us": 205671.0, "system_us": 8082.0, "rss_before": 125960192.0, "rss_after": 230932480.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 231342080, "instructions": 5625394436, "cycles": 1040394779, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 247.528584, "user_us": 372231.0, "system_us": 17178.0, "rss_before": 234405888.0, "rss_after": 373456896.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 376995840, "instructions": 7851371066, "cycles": 1890047314, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 158.896875, "user_us": 151827.0, "system_us": 7079.0, "rss_before": 163151872.0, "rss_after": 267288576.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267812864, "instructions": 5811266348, "cycles": 1051444025, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 229.983875, "user_us": 364846.0, "system_us": 17536.0, "rss_before": 234422272.0, "rss_after": 373604352.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 377110528, "instructions": 7862977795, "cycles": 1842819487, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 158.36600000000004, "user_us": 151435.0, "system_us": 6938.0, "rss_before": 163184640.0, "rss_after": 267321344.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267862016, "instructions": 5818243594, "cycles": 1050975651, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 175.99662500000002, "user_us": 206769.0, "system_us": 8286.0, "rss_before": 126009344.0, "rss_after": 231047168.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 231456768, "instructions": 5631600200, "cycles": 1045206783, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 159.270291, "user_us": 151825.0, "system_us": 7455.0, "rss_before": 163151872.0, "rss_after": 267304960.0, "checksum": 6.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 4, "warmup": 2, "peak_rss": 267829248, "instructions": 5810928081, "cycles": 1051848073, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 231.00487499999997, "user_us": 232650.0, "system_us": 9677.0, "rss_before": 177307648.0, "rss_after": 319340544.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319733760, "instructions": 5976458328, "cycles": 1119650111, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 206.19920800000003, "user_us": 194209.0, "system_us": 13116.0, "rss_before": 268304384.0, "rss_after": 481083392.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481771520, "instructions": 5680018028, "cycles": 1180598058, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 140.981667, "user_us": 138263.0, "system_us": 2728.0, "rss_before": 210763776.0, "rss_after": 246153216.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246677504, "instructions": 6099604536, "cycles": 1053762068, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 140.749917, "user_us": 138100.0, "system_us": 2656.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246644736, "instructions": 6098905907, "cycles": 1052413895, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 140.88545799999997, "user_us": 138413.0, "system_us": 2479.0, "rss_before": 210763776.0, "rss_after": 246153216.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246677504, "instructions": 6100095143, "cycles": 1052193002, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 230.69075000000004, "user_us": 231722.0, "system_us": 9266.0, "rss_before": 178028544.0, "rss_after": 319225856.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319619072, "instructions": 5976588285, "cycles": 1118630448, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 141.154708, "user_us": 138377.0, "system_us": 2784.0, "rss_before": 210796544.0, "rss_after": 246169600.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246677504, "instructions": 6099151966, "cycles": 1054513540, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 205.50679199999996, "user_us": 193631.0, "system_us": 13039.0, "rss_before": 268386304.0, "rss_after": 481099776.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481755136, "instructions": 5679039703, "cycles": 1179449398, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 206.470375, "user_us": 194417.0, "system_us": 13223.0, "rss_before": 268386304.0, "rss_after": 481132544.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481804288, "instructions": 5677746197, "cycles": 1184128677, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 230.23625, "user_us": 233827.0, "system_us": 9446.0, "rss_before": 177946624.0, "rss_after": 319209472.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319602688, "instructions": 5975584150, "cycles": 1124503924, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 140.913791, "user_us": 138348.0, "system_us": 2572.0, "rss_before": 210747392.0, "rss_after": 246136832.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246644736, "instructions": 6098718742, "cycles": 1053047383, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 140.99250000000004, "user_us": 138425.0, "system_us": 2567.0, "rss_before": 210796544.0, "rss_after": 246169600.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246693888, "instructions": 6098970466, "cycles": 1053466555, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 140.73416600000002, "user_us": 138270.0, "system_us": 2471.0, "rss_before": 210780160.0, "rss_after": 246153216.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246677504, "instructions": 6098346201, "cycles": 1053061427, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 230.149875, "user_us": 229875.0, "system_us": 9437.0, "rss_before": 178257920.0, "rss_after": 319471616.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319864832, "instructions": 5974503138, "cycles": 1117064558, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 140.852167, "user_us": 138286.0, "system_us": 2571.0, "rss_before": 210747392.0, "rss_after": 246120448.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6098716699, "cycles": 1052859428, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 206.306875, "user_us": 194418.0, "system_us": 13091.0, "rss_before": 268353536.0, "rss_after": 481165312.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481837056, "instructions": 5678457856, "cycles": 1194887663, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 140.652417, "user_us": 138161.0, "system_us": 2497.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246644736, "instructions": 6098910573, "cycles": 1053594695, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 207.20408300000003, "user_us": 194984.0, "system_us": 13410.0, "rss_before": 268386304.0, "rss_after": 481247232.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481968128, "instructions": 5679118499, "cycles": 1191817665, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 140.92154100000002, "user_us": 138389.0, "system_us": 2538.0, "rss_before": 210763776.0, "rss_after": 246136832.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6099880484, "cycles": 1053422585, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 230.139042, "user_us": 234096.0, "system_us": 9345.0, "rss_before": 177848320.0, "rss_after": 319143936.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319537152, "instructions": 5971219507, "cycles": 1121483953, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 206.21891699999998, "user_us": 193942.0, "system_us": 13421.0, "rss_before": 268566528.0, "rss_after": 481247232.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481951744, "instructions": 5686781631, "cycles": 1189255090, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 140.981666, "user_us": 138473.0, "system_us": 2516.0, "rss_before": 210780160.0, "rss_after": 246153216.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246661120, "instructions": 6098639052, "cycles": 1053243300, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 230.887667, "user_us": 232209.0, "system_us": 9839.0, "rss_before": 177291264.0, "rss_after": 319242240.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319635456, "instructions": 5977480875, "cycles": 1119050603, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 140.92920800000002, "user_us": 138026.0, "system_us": 2910.0, "rss_before": 210812928.0, "rss_after": 246185984.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246710272, "instructions": 6099607843, "cycles": 1054668335, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 140.71654200000003, "user_us": 138206.0, "system_us": 2516.0, "rss_before": 210747392.0, "rss_after": 246120448.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246628352, "instructions": 6100706320, "cycles": 1052497086, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 140.97695900000002, "user_us": 138412.0, "system_us": 2561.0, "rss_before": 210780160.0, "rss_after": 246153216.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 246677504, "instructions": 6099650212, "cycles": 1053425260, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 207.01404100000002, "user_us": 194760.0, "system_us": 13501.0, "rss_before": 268419072.0, "rss_after": 481214464.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 481869824, "instructions": 5680786076, "cycles": 1193569092, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 230.756625, "user_us": 232386.0, "system_us": 9476.0, "rss_before": 177291264.0, "rss_after": 319340544.0, "checksum": 246693188.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 12, "warmup": 2, "peak_rss": 319733760, "instructions": 5974271095, "cycles": 1118415924, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 329.795458, "user_us": 327316.0, "system_us": 3148.0, "rss_before": 34979840.0, "rss_after": 71139328.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71548928, "instructions": 6949765213, "cycles": 1128150744, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 161.855542, "user_us": 148429.0, "system_us": 13431.0, "rss_before": 19890176.0, "rss_after": 65323008.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65814528, "instructions": 2146221402, "cycles": 550291299, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 161.87887500000002, "user_us": 148786.0, "system_us": 13098.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2146184294, "cycles": 550320653, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 314.41308399999997, "user_us": 315057.0, "system_us": 4001.0, "rss_before": 63602688.0, "rss_after": 94846976.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109133824, "instructions": 6011600586, "cycles": 1147324878, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 329.458709, "user_us": 326960.0, "system_us": 3117.0, "rss_before": 35012608.0, "rss_after": 71122944.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71548928, "instructions": 6949329368, "cycles": 1127665194, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 161.65850000000003, "user_us": 148360.0, "system_us": 13303.0, "rss_before": 19890176.0, "rss_after": 65323008.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65814528, "instructions": 2146105787, "cycles": 549410466, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 161.43858300000002, "user_us": 148223.0, "system_us": 13221.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2145884690, "cycles": 549018360, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 314.53712499999995, "user_us": 315423.0, "system_us": 3903.0, "rss_before": 63733760.0, "rss_after": 94945280.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109232128, "instructions": 6005902036, "cycles": 1144175253, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 314.391292, "user_us": 314972.0, "system_us": 4082.0, "rss_before": 63586304.0, "rss_after": 94961664.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109248512, "instructions": 6009249355, "cycles": 1145006777, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 161.367917, "user_us": 148085.0, "system_us": 13275.0, "rss_before": 19890176.0, "rss_after": 65306624.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65798144, "instructions": 2146024247, "cycles": 548910411, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 161.527167, "user_us": 148301.0, "system_us": 13230.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2145899648, "cycles": 549463655, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 326.916416, "user_us": 324600.0, "system_us": 2988.0, "rss_before": 34979840.0, "rss_after": 71122944.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71532544, "instructions": 6949408843, "cycles": 1118916234, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 313.881834, "user_us": 314626.0, "system_us": 3625.0, "rss_before": 63602688.0, "rss_after": 94912512.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109199360, "instructions": 6001733663, "cycles": 1138596741, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 161.40779200000003, "user_us": 148289.0, "system_us": 13124.0, "rss_before": 19890176.0, "rss_after": 65323008.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65814528, "instructions": 2147180122, "cycles": 548759269, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 162.06212499999998, "user_us": 148713.0, "system_us": 13354.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2146352684, "cycles": 551356630, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 324.391583, "user_us": 322249.0, "system_us": 2748.0, "rss_before": 35012608.0, "rss_after": 71122944.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71532544, "instructions": 6949231625, "cycles": 1110574778, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 324.200667, "user_us": 321838.0, "system_us": 3011.0, "rss_before": 34963456.0, "rss_after": 71106560.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71516160, "instructions": 6949536280, "cycles": 1110494039, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 161.693458, "user_us": 148497.0, "system_us": 13201.0, "rss_before": 19873792.0, "rss_after": 65323008.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65814528, "instructions": 2146172352, "cycles": 550001915, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 313.95025, "user_us": 314412.0, "system_us": 3844.0, "rss_before": 63750144.0, "rss_after": 95027200.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109314048, "instructions": 6005700687, "cycles": 1140212771, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 161.8035, "user_us": 148335.0, "system_us": 13464.0, "rss_before": 19922944.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2146091488, "cycles": 550207431, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 160.95887499999998, "user_us": 147847.0, "system_us": 13117.0, "rss_before": 19906560.0, "rss_after": 65323008.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65814528, "instructions": 2146071836, "cycles": 547867976, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 162.22995799999998, "user_us": 148879.0, "system_us": 13356.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2146242583, "cycles": 551968139, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 325.744542, "user_us": 323297.0, "system_us": 3074.0, "rss_before": 34996224.0, "rss_after": 71155712.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 71565312, "instructions": 6949444547, "cycles": 1114697875, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 314.738958, "user_us": 315154.0, "system_us": 4239.0, "rss_before": 63700992.0, "rss_after": 94879744.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109150208, "instructions": 6017741455, "cycles": 1153163064, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 325.66541700000005, "user_us": 323176.0, "system_us": 3226.0, "rss_before": 34979840.0, "rss_after": 72171520.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 72581120, "instructions": 6950237219, "cycles": 1115655560, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 161.791584, "user_us": 148524.0, "system_us": 13272.0, "rss_before": 19906560.0, "rss_after": 65339392.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65847296, "instructions": 2145901831, "cycles": 550165926, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 314.25424999999996, "user_us": 315001.0, "system_us": 4106.0, "rss_before": 63668224.0, "rss_after": 95027200.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 109314048, "instructions": 6003948684, "cycles": 1141036307, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 161.36775000000003, "user_us": 148368.0, "system_us": 12996.0, "rss_before": 19890176.0, "rss_after": 65306624.0, "checksum": 104.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 102, "warmup": 2, "peak_rss": 65798144, "instructions": 2145760588, "cycles": 548816969, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 286.268417, "user_us": 285266.0, "system_us": 4997.0, "rss_before": 66289664.0, "rss_after": 117932032.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118538240, "instructions": 6013110724, "cycles": 1058855439, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 148.921584, "user_us": 146556.0, "system_us": 2372.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623668616, "cycles": 513935060, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 431.71845800000006, "user_us": 428491.0, "system_us": 4004.0, "rss_before": 37240832.0, "rss_after": 77545472.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77938688, "instructions": 8487892925, "cycles": 1463581982, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 149.35258400000004, "user_us": 146958.0, "system_us": 2398.0, "rss_before": 22593536.0, "rss_after": 60112896.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60637184, "instructions": 3623873241, "cycles": 515792357, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 148.985708, "user_us": 146673.0, "system_us": 2317.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623617016, "cycles": 513723325, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 431.80100000000004, "user_us": 428326.0, "system_us": 4259.0, "rss_before": 37208064.0, "rss_after": 77479936.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77873152, "instructions": 8488034618, "cycles": 1463910520, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 149.19116699999998, "user_us": 146958.0, "system_us": 2238.0, "rss_before": 22577152.0, "rss_after": 60145664.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623698320, "cycles": 514802903, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 285.94149999999996, "user_us": 285584.0, "system_us": 4875.0, "rss_before": 66273280.0, "rss_after": 117948416.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118636544, "instructions": 6012130704, "cycles": 1058553392, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 148.887417, "user_us": 146589.0, "system_us": 2304.0, "rss_before": 22593536.0, "rss_after": 60145664.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623817165, "cycles": 514212143, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 431.66833299999996, "user_us": 428493.0, "system_us": 3874.0, "rss_before": 37208064.0, "rss_after": 78495744.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 78888960, "instructions": 8488109188, "cycles": 1463547451, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 149.667917, "user_us": 147265.0, "system_us": 2410.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623650151, "cycles": 516114461, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 286.154833, "user_us": 285693.0, "system_us": 5014.0, "rss_before": 66158592.0, "rss_after": 117866496.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118423552, "instructions": 6014562559, "cycles": 1061308267, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 285.987875, "user_us": 285429.0, "system_us": 4996.0, "rss_before": 66306048.0, "rss_after": 118013952.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118652928, "instructions": 6008713686, "cycles": 1055640681, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 149.063042, "user_us": 146762.0, "system_us": 2305.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623649092, "cycles": 514472758, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 148.766042, "user_us": 146546.0, "system_us": 2223.0, "rss_before": 22593536.0, "rss_after": 60145664.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623754368, "cycles": 512730127, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 432.095459, "user_us": 428698.0, "system_us": 4228.0, "rss_before": 37208064.0, "rss_after": 77463552.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77856768, "instructions": 8488658442, "cycles": 1465012730, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 149.024334, "user_us": 146716.0, "system_us": 2315.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623621837, "cycles": 514647033, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 286.141166, "user_us": 285572.0, "system_us": 4937.0, "rss_before": 66289664.0, "rss_after": 117964800.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118554624, "instructions": 6008482787, "cycles": 1055780009, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 148.89229100000003, "user_us": 146564.0, "system_us": 2332.0, "rss_before": 22577152.0, "rss_after": 60145664.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623690303, "cycles": 513549424, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 432.271417, "user_us": 428909.0, "system_us": 4141.0, "rss_before": 37240832.0, "rss_after": 77496320.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77889536, "instructions": 8488383087, "cycles": 1465834876, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 149.037875, "user_us": 146759.0, "system_us": 2286.0, "rss_before": 22593536.0, "rss_after": 60178432.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60702720, "instructions": 3623548554, "cycles": 514606954, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 286.291208, "user_us": 285248.0, "system_us": 5077.0, "rss_before": 66240512.0, "rss_after": 117964800.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118554624, "instructions": 6009623225, "cycles": 1056014853, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 149.208958, "user_us": 146777.0, "system_us": 2439.0, "rss_before": 22593536.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623977596, "cycles": 514686338, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 432.162916, "user_us": 428885.0, "system_us": 4113.0, "rss_before": 37240832.0, "rss_after": 77512704.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77905920, "instructions": 8488119051, "cycles": 1465310864, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 430.839459, "user_us": 428073.0, "system_us": 3569.0, "rss_before": 37224448.0, "rss_after": 77512704.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 77905920, "instructions": 8488015832, "cycles": 1461481522, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 286.30516600000004, "user_us": 285119.0, "system_us": 5194.0, "rss_before": 66256896.0, "rss_after": 117784576.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 118374400, "instructions": 6016788591, "cycles": 1063585494, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 149.01291600000002, "user_us": 146548.0, "system_us": 2470.0, "rss_before": 22577152.0, "rss_after": 60145664.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623818223, "cycles": 514696486, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 149.061917, "user_us": 146589.0, "system_us": 2481.0, "rss_before": 22609920.0, "rss_after": 60129280.0, "checksum": 154382029.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 147, "warmup": 2, "peak_rss": 60669952, "instructions": 3623672365, "cycles": 513942429, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 0.978832999999999, "user_us": 974.0, "system_us": 9.0, "rss_before": 15925248.0, "rss_after": 16138240.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17219584, "instructions": 86561025, "cycles": 24757161, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 0.981125, "user_us": 977.0, "system_us": 8.0, "rss_before": 15958016.0, "rss_after": 16171008.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17268736, "instructions": 86538941, "cycles": 24232253, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 178.742208, "user_us": 171323.0, "system_us": 10178.0, "rss_before": 33193984.0, "rss_after": 165838848.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 166248448, "instructions": 3309111545, "cycles": 627530874, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 1034.108084, "user_us": 1016632.0, "system_us": 25630.0, "rss_before": 60653568.0, "rss_after": 158924800.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 232407040, "instructions": 19171004301, "cycles": 3442240481, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 179.390417, "user_us": 171185.0, "system_us": 10910.0, "rss_before": 33112064.0, "rss_after": 184696832.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 185106432, "instructions": 3315657060, "cycles": 629357548, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 0.9805409999999997, "user_us": 977.0, "system_us": 8.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17235968, "instructions": 86556307, "cycles": 24222246, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 1019.407625, "user_us": 1011084.0, "system_us": 12935.0, "rss_before": 60702720.0, "rss_after": 218480640.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 219398144, "instructions": 19089091555, "cycles": 3400947640, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 0.9882079999999998, "user_us": 971.0, "system_us": 21.0, "rss_before": 15958016.0, "rss_after": 16171008.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17268736, "instructions": 86488716, "cycles": 24199563, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 0.9717499999999992, "user_us": 969.0, "system_us": 7.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17235968, "instructions": 86482003, "cycles": 24424835, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 0.9747920000000003, "user_us": 972.0, "system_us": 10.0, "rss_before": 15958016.0, "rss_after": 16171008.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17268736, "instructions": 86464348, "cycles": 24073230, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 1018.7096249999998, "user_us": 1010414.0, "system_us": 12987.0, "rss_before": 60604416.0, "rss_after": 218447872.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 219332608, "instructions": 19059075820, "cycles": 3383996094, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 179.239459, "user_us": 171569.0, "system_us": 10507.0, "rss_before": 33128448.0, "rss_after": 172032000.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 172441600, "instructions": 3311498935, "cycles": 628839473, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 0.9776250000000002, "user_us": 974.0, "system_us": 8.0, "rss_before": 15925248.0, "rss_after": 16138240.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17219584, "instructions": 86500186, "cycles": 24459862, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 178.04079199999998, "user_us": 170930.0, "system_us": 9919.0, "rss_before": 33128448.0, "rss_after": 164757504.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 165167104, "instructions": 3308591322, "cycles": 625068625, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 0.9753330000000004, "user_us": 972.0, "system_us": 10.0, "rss_before": 15958016.0, "rss_after": 16171008.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17268736, "instructions": 86683402, "cycles": 24566569, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 1018.1100409999999, "user_us": 1009691.0, "system_us": 12927.0, "rss_before": 60702720.0, "rss_after": 218415104.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 219348992, "instructions": 19089844895, "cycles": 3396639238, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 0.9762080000000002, "user_us": 972.0, "system_us": 9.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17235968, "instructions": 86602706, "cycles": 24614624, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 0.9777080000000002, "user_us": 973.0, "system_us": 8.0, "rss_before": 15958016.0, "rss_after": 16171008.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17268736, "instructions": 86510542, "cycles": 24442470, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 1028.860583, "user_us": 1015289.0, "system_us": 21532.0, "rss_before": 60653568.0, "rss_after": 163397632.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 242188288, "instructions": 19137932637, "cycles": 3424908504, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 179.781958, "user_us": 171896.0, "system_us": 10958.0, "rss_before": 33112064.0, "rss_after": 176275456.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 176685056, "instructions": 3313305559, "cycles": 630718135, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 0.976667, "user_us": 971.0, "system_us": 9.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17252352, "instructions": 86570247, "cycles": 24514356, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 178.793792, "user_us": 170920.0, "system_us": 10551.0, "rss_before": 33112064.0, "rss_after": 171999232.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 172408832, "instructions": 3310594412, "cycles": 627003847, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 1017.1731669999999, "user_us": 1008942.0, "system_us": 12951.0, "rss_before": 60686336.0, "rss_after": 218464256.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 219299840, "instructions": 19093475249, "cycles": 3397134158, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 0.9728339999999998, "user_us": 970.0, "system_us": 7.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17235968, "instructions": 86427332, "cycles": 24430544, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 0.9788750000000008, "user_us": 974.0, "system_us": 9.0, "rss_before": 15925248.0, "rss_after": 16138240.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17219584, "instructions": 86556355, "cycles": 24457543, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 0.9770830000000004, "user_us": 974.0, "system_us": 7.0, "rss_before": 15941632.0, "rss_after": 16154624.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 17252352, "instructions": 86552201, "cycles": 24713163, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 179.42262499999998, "user_us": 171705.0, "system_us": 10532.0, "rss_before": 33161216.0, "rss_after": 170049536.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 170459136, "instructions": 3312205289, "cycles": 629862136, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 1019.0673750000001, "user_us": 1010539.0, "system_us": 13110.0, "rss_before": 60719104.0, "rss_after": 218333184.0, "checksum": 2808.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 2806, "warmup": 2, "peak_rss": 219316224, "instructions": 19089503353, "cycles": 3400945975, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 68.831583, "user_us": 66214.0, "system_us": 2621.0, "rss_before": 19578880.0, "rss_after": 56590336.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57114624, "instructions": 832946339, "cycles": 244082007, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 203.96420799999999, "user_us": 198698.0, "system_us": 9824.0, "rss_before": 64307200.0, "rss_after": 191643648.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192561152, "instructions": 3478072100, "cycles": 778792883, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 69.449292, "user_us": 67014.0, "system_us": 2443.0, "rss_before": 19595264.0, "rss_after": 56606720.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 832934294, "cycles": 246193838, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 181.115083, "user_us": 173623.0, "system_us": 9692.0, "rss_before": 35258368.0, "rss_after": 177471488.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 177897472, "instructions": 1831389083, "cycles": 635275465, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 180.78825, "user_us": 173678.0, "system_us": 9261.0, "rss_before": 35258368.0, "rss_after": 167002112.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 167428096, "instructions": 1827300611, "cycles": 633467216, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 64.69437500000001, "user_us": 62078.0, "system_us": 2620.0, "rss_before": 19595264.0, "rss_after": 56639488.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57180160, "instructions": 833227286, "cycles": 231062545, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 191.667833, "user_us": 186694.0, "system_us": 9525.0, "rss_before": 64290816.0, "rss_after": 191709184.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192610304, "instructions": 3472426467, "cycles": 735125361, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 72.68975, "user_us": 70043.0, "system_us": 2654.0, "rss_before": 19595264.0, "rss_after": 56590336.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57114624, "instructions": 832974259, "cycles": 256368328, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 67.287916, "user_us": 64825.0, "system_us": 2470.0, "rss_before": 19611648.0, "rss_after": 56606720.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 833070955, "cycles": 239061633, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 180.45695800000001, "user_us": 173889.0, "system_us": 8729.0, "rss_before": 35258368.0, "rss_after": 152240128.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 152666112, "instructions": 1823351335, "cycles": 632176587, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 69.705667, "user_us": 67239.0, "system_us": 2474.0, "rss_before": 19595264.0, "rss_after": 56590336.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57114624, "instructions": 836591919, "cycles": 247006058, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 191.47287500000002, "user_us": 186546.0, "system_us": 9566.0, "rss_before": 64290816.0, "rss_after": 191660032.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192544768, "instructions": 3476976150, "cycles": 738020229, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 70.16054199999999, "user_us": 67694.0, "system_us": 2473.0, "rss_before": 19578880.0, "rss_after": 56623104.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 832889283, "cycles": 248292731, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 72.917291, "user_us": 70373.0, "system_us": 2541.0, "rss_before": 19595264.0, "rss_after": 56606720.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 833161951, "cycles": 257453403, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 180.192458, "user_us": 173526.0, "system_us": 8809.0, "rss_before": 35225600.0, "rss_after": 156467200.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 156893184, "instructions": 1824193850, "cycles": 631716366, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 190.476125, "user_us": 185563.0, "system_us": 9572.0, "rss_before": 64323584.0, "rss_after": 191709184.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192577536, "instructions": 3474620217, "cycles": 733394514, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 192.616958, "user_us": 187767.0, "system_us": 9501.0, "rss_before": 64241664.0, "rss_after": 191676416.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192528384, "instructions": 3470971442, "cycles": 736180365, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 74.13625, "user_us": 71664.0, "system_us": 2480.0, "rss_before": 19595264.0, "rss_after": 56606720.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 832559918, "cycles": 260973341, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 66.191208, "user_us": 63578.0, "system_us": 2618.0, "rss_before": 19578880.0, "rss_after": 56623104.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 833257303, "cycles": 235863142, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 179.86024999999998, "user_us": 173676.0, "system_us": 8401.0, "rss_before": 35258368.0, "rss_after": 150241280.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 150667264, "instructions": 1822546689, "cycles": 630956206, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 69.38291600000001, "user_us": 66979.0, "system_us": 2412.0, "rss_before": 19578880.0, "rss_after": 56623104.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 833255068, "cycles": 246005062, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 180.83675, "user_us": 173704.0, "system_us": 9459.0, "rss_before": 35258368.0, "rss_after": 160694272.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 161120256, "instructions": 1826465160, "cycles": 634612620, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 191.290625, "user_us": 186534.0, "system_us": 9386.0, "rss_before": 64307200.0, "rss_after": 191660032.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192544768, "instructions": 3470242049, "cycles": 731840197, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 66.517625, "user_us": 64017.0, "system_us": 2509.0, "rss_before": 19611648.0, "rss_after": 56639488.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57180160, "instructions": 833017148, "cycles": 236907722, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 181.867917, "user_us": 173840.0, "system_us": 10361.0, "rss_before": 35258368.0, "rss_after": 181698560.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 182124544, "instructions": 1833359118, "cycles": 637728917, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 66.677333, "user_us": 64215.0, "system_us": 2466.0, "rss_before": 19578880.0, "rss_after": 56623104.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 832648194, "cycles": 237198201, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 201.622, "user_us": 196696.0, "system_us": 9558.0, "rss_before": 64405504.0, "rss_after": 191692800.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 192593920, "instructions": 3480565920, "cycles": 773048794, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 76.515667, "user_us": 73877.0, "system_us": 2646.0, "rss_before": 19611648.0, "rss_after": 56606720.0, "checksum": 2017494856.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1922, "warmup": 2, "peak_rss": 57147392, "instructions": 832836404, "cycles": 268828744, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 155.05258300000003, "user_us": 148644.0, "system_us": 6410.0, "rss_before": 18071552.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2600899466, "cycles": 524346828, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 274.14074999999997, "user_us": 274472.0, "system_us": 4161.0, "rss_before": 60325888.0, "rss_after": 95322112.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107692032, "instructions": 4051413909, "cycles": 1005062630, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 327.13537499999995, "user_us": 324906.0, "system_us": 2767.0, "rss_before": 34373632.0, "rss_after": 70762496.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71172096, "instructions": 5247016974, "cycles": 1111775137, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 154.50258300000002, "user_us": 148291.0, "system_us": 6216.0, "rss_before": 18087936.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2600738910, "cycles": 523164632, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 326.915166, "user_us": 324819.0, "system_us": 2678.0, "rss_before": 34390016.0, "rss_after": 70795264.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71204864, "instructions": 5247140529, "cycles": 1110810944, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 154.747166, "user_us": 148273.0, "system_us": 6481.0, "rss_before": 18087936.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2601305809, "cycles": 524159140, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 155.333417, "user_us": 148704.0, "system_us": 6635.0, "rss_before": 18087936.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2601031924, "cycles": 525819516, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 273.971959, "user_us": 273781.0, "system_us": 3942.0, "rss_before": 60227584.0, "rss_after": 95191040.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107577344, "instructions": 4047231517, "cycles": 1002000251, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 327.025667, "user_us": 324849.0, "system_us": 2766.0, "rss_before": 34373632.0, "rss_after": 70778880.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71188480, "instructions": 5247249507, "cycles": 1111550520, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 274.39725000000004, "user_us": 274301.0, "system_us": 4253.0, "rss_before": 60276736.0, "rss_after": 95223808.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107610112, "instructions": 4056604782, "cycles": 1010362120, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 155.21379100000001, "user_us": 148745.0, "system_us": 6469.0, "rss_before": 18087936.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2600976225, "cycles": 525217362, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 154.976791, "user_us": 148586.0, "system_us": 6396.0, "rss_before": 18087936.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2601288503, "cycles": 524487231, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 154.96300000000002, "user_us": 148436.0, "system_us": 6532.0, "rss_before": 18055168.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2601195605, "cycles": 524514309, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 274.364584, "user_us": 274705.0, "system_us": 4131.0, "rss_before": 60243968.0, "rss_after": 95191040.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107560960, "instructions": 4048730477, "cycles": 1003702096, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 155.2515, "user_us": 148808.0, "system_us": 6448.0, "rss_before": 18071552.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2601091750, "cycles": 525630436, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 327.12145899999996, "user_us": 324900.0, "system_us": 2706.0, "rss_before": 34373632.0, "rss_after": 70746112.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71155712, "instructions": 5246728100, "cycles": 1111386399, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 326.818042, "user_us": 324638.0, "system_us": 2730.0, "rss_before": 34373632.0, "rss_after": 70828032.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71237632, "instructions": 5247154384, "cycles": 1110513097, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 154.59449999999998, "user_us": 148361.0, "system_us": 6238.0, "rss_before": 18055168.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2601024912, "cycles": 523310408, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 274.375083, "user_us": 274225.0, "system_us": 4271.0, "rss_before": 60227584.0, "rss_after": 95256576.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107642880, "instructions": 4047588347, "cycles": 1002606757, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 154.987208, "user_us": 148551.0, "system_us": 6441.0, "rss_before": 18087936.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2601048571, "cycles": 524421730, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 327.085459, "user_us": 324750.0, "system_us": 2801.0, "rss_before": 34390016.0, "rss_after": 70762496.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71172096, "instructions": 5246720144, "cycles": 1111627422, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 274.356458, "user_us": 274132.0, "system_us": 4132.0, "rss_before": 60260352.0, "rss_after": 95125504.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107511808, "instructions": 4046893014, "cycles": 1001246176, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 154.454417, "user_us": 148297.0, "system_us": 6161.0, "rss_before": 18071552.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2600749640, "cycles": 522963400, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 155.002791, "user_us": 148446.0, "system_us": 6561.0, "rss_before": 18087936.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2600919011, "cycles": 524298516, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 154.870916, "user_us": 148476.0, "system_us": 6401.0, "rss_before": 18104320.0, "rss_after": 60735488.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61259776, "instructions": 2601248489, "cycles": 524088812, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 274.348791, "user_us": 274600.0, "system_us": 4056.0, "rss_before": 60293120.0, "rss_after": 95322112.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 107708416, "instructions": 4054761617, "cycles": 1009085308, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 326.78875, "user_us": 324593.0, "system_us": 2779.0, "rss_before": 34373632.0, "rss_after": 70811648.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 71221248, "instructions": 5246992751, "cycles": 1111029447, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 154.92274999999998, "user_us": 148469.0, "system_us": 6458.0, "rss_before": 18071552.0, "rss_after": 60719104.0, "checksum": 160.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 158, "warmup": 2, "peak_rss": 61227008, "instructions": 2601180973, "cycles": 524526491, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 146.981792, "user_us": 144735.0, "system_us": 2254.0, "rss_before": 19644416.0, "rss_after": 57016320.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277716420, "cycles": 503012513, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 146.878917, "user_us": 144623.0, "system_us": 2260.0, "rss_before": 19644416.0, "rss_after": 56999936.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57540608, "instructions": 2277520569, "cycles": 502495720, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 344.699958, "user_us": 341727.0, "system_us": 3849.0, "rss_before": 36651008.0, "rss_after": 78020608.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78430208, "instructions": 2666373166, "cycles": 1176572883, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 310.061291, "user_us": 308473.0, "system_us": 5854.0, "rss_before": 63963136.0, "rss_after": 130351104.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130973696, "instructions": 4790799100, "cycles": 1127952240, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 311.74533299999996, "user_us": 309927.0, "system_us": 6186.0, "rss_before": 63963136.0, "rss_after": 130351104.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130940928, "instructions": 4789173081, "cycles": 1132116078, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 344.669042, "user_us": 341636.0, "system_us": 3993.0, "rss_before": 36667392.0, "rss_after": 81346560.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 81756160, "instructions": 2668040455, "cycles": 1177205204, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 146.894875, "user_us": 144604.0, "system_us": 2296.0, "rss_before": 19644416.0, "rss_after": 56999936.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57540608, "instructions": 2277502347, "cycles": 503018345, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 146.822917, "user_us": 144565.0, "system_us": 2266.0, "rss_before": 19660800.0, "rss_after": 57016320.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277520775, "cycles": 502320330, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 146.983292, "user_us": 144505.0, "system_us": 2483.0, "rss_before": 19644416.0, "rss_after": 57032704.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277525009, "cycles": 502596316, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 310.50125, "user_us": 308919.0, "system_us": 5998.0, "rss_before": 63930368.0, "rss_after": 130301952.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130940928, "instructions": 4788762610, "cycles": 1127682175, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 344.935292, "user_us": 341979.0, "system_us": 3840.0, "rss_before": 36651008.0, "rss_after": 78020608.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78430208, "instructions": 2666241713, "cycles": 1176665181, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 146.79075, "user_us": 144485.0, "system_us": 2313.0, "rss_before": 19660800.0, "rss_after": 57049088.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57606144, "instructions": 2277574287, "cycles": 503326466, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 312.573625, "user_us": 310520.0, "system_us": 6187.0, "rss_before": 63897600.0, "rss_after": 130220032.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130826240, "instructions": 4790140701, "cycles": 1134967644, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 146.705416, "user_us": 144489.0, "system_us": 2224.0, "rss_before": 19644416.0, "rss_after": 57016320.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277557163, "cycles": 502337571, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 346.08333400000004, "user_us": 343190.0, "system_us": 3699.0, "rss_before": 36716544.0, "rss_after": 78069760.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78495744, "instructions": 2666353413, "cycles": 1180431274, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 146.838583, "user_us": 144528.0, "system_us": 2315.0, "rss_before": 19644416.0, "rss_after": 56999936.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57540608, "instructions": 2277575435, "cycles": 502801714, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 345.88666700000005, "user_us": 342858.0, "system_us": 3924.0, "rss_before": 36651008.0, "rss_after": 77987840.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78397440, "instructions": 2666480749, "cycles": 1179807722, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 146.856041, "user_us": 144470.0, "system_us": 2395.0, "rss_before": 19644416.0, "rss_after": 57032704.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277587459, "cycles": 503247934, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 310.037708, "user_us": 308480.0, "system_us": 5927.0, "rss_before": 63848448.0, "rss_after": 130334720.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130940928, "instructions": 4788688456, "cycles": 1126266084, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 146.787875, "user_us": 144496.0, "system_us": 2300.0, "rss_before": 19660800.0, "rss_after": 57016320.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277550286, "cycles": 502886585, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 346.482583, "user_us": 343457.0, "system_us": 3913.0, "rss_before": 36651008.0, "rss_after": 78036992.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78446592, "instructions": 2666306205, "cycles": 1181674303, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 315.904625, "user_us": 314326.0, "system_us": 5970.0, "rss_before": 63750144.0, "rss_after": 130154496.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130777088, "instructions": 4787236192, "cycles": 1145392829, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 146.95570800000002, "user_us": 144737.0, "system_us": 2223.0, "rss_before": 19644416.0, "rss_after": 56999936.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57556992, "instructions": 2277592812, "cycles": 502887036, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 146.989375, "user_us": 144627.0, "system_us": 2367.0, "rss_before": 19644416.0, "rss_after": 56999936.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57540608, "instructions": 2277665390, "cycles": 503153490, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 345.716542, "user_us": 342614.0, "system_us": 3894.0, "rss_before": 36634624.0, "rss_after": 77971456.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 78397440, "instructions": 2666005403, "cycles": 1179085674, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 146.78562499999998, "user_us": 144493.0, "system_us": 2300.0, "rss_before": 19660800.0, "rss_after": 57016320.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277605762, "cycles": 503300571, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 146.864, "user_us": 144535.0, "system_us": 2336.0, "rss_before": 19628032.0, "rss_after": 57032704.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 57573376, "instructions": 2277528550, "cycles": 502472800, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 311.0265, "user_us": 309054.0, "system_us": 6326.0, "rss_before": 63799296.0, "rss_after": 130252800.0, "checksum": 166323024.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 166, "warmup": 2, "peak_rss": 130859008, "instructions": 4796974790, "cycles": 1136196995, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 159.75145899999998, "user_us": 152450.0, "system_us": 9754.0, "rss_before": 33734656.0, "rss_after": 163381248.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 163790848, "instructions": 2963316646, "cycles": 567194928, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 0.9697080000000002, "user_us": 965.0, "system_us": 10.0, "rss_before": 15220736.0, "rss_after": 15417344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16515072, "instructions": 84743379, "cycles": 24145370, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 0.970499999999999, "user_us": 967.0, "system_us": 10.0, "rss_before": 15253504.0, "rss_after": 15450112.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16564224, "instructions": 84615755, "cycles": 23597116, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 1223.294625, "user_us": 1204292.0, "system_us": 27193.0, "rss_before": 61079552.0, "rss_after": 156549120.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 209682432, "instructions": 12578077560, "cycles": 4050445797, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 0.9699590000000002, "user_us": 966.0, "system_us": 8.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16547840, "instructions": 84608235, "cycles": 23977015, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 0.9717919999999998, "user_us": 966.0, "system_us": 10.0, "rss_before": 15220736.0, "rss_after": 15417344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16515072, "instructions": 84582668, "cycles": 23821308, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 1223.982583, "user_us": 1204100.0, "system_us": 28067.0, "rss_before": 61145088.0, "rss_after": 160628736.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 204226560, "instructions": 12589078300, "cycles": 4053778018, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 160.853792, "user_us": 152307.0, "system_us": 10984.0, "rss_before": 33734656.0, "rss_after": 183074816.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 183484416, "instructions": 2971449189, "cycles": 571310849, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 0.9807499999999996, "user_us": 968.0, "system_us": 17.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16547840, "instructions": 84769552, "cycles": 23961989, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 0.9677080000000005, "user_us": 966.0, "system_us": 6.0, "rss_before": 15220736.0, "rss_after": 15417344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16515072, "instructions": 84701253, "cycles": 23902783, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 160.259208, "user_us": 152177.0, "system_us": 10504.0, "rss_before": 33734656.0, "rss_after": 174653440.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 175063040, "instructions": 2968372902, "cycles": 568971919, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 1218.783375, "user_us": 1203359.0, "system_us": 23499.0, "rss_before": 61014016.0, "rss_after": 154681344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 219267072, "instructions": 12548660609, "cycles": 4032955012, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 159.537375, "user_us": 151915.0, "system_us": 10047.0, "rss_before": 33734656.0, "rss_after": 170917888.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 171327488, "instructions": 2967017460, "cycles": 567057904, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 1222.961792, "user_us": 1204008.0, "system_us": 27303.0, "rss_before": 61177856.0, "rss_after": 156860416.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 210059264, "instructions": 12584584120, "cycles": 4054273210, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 0.9679169999999999, "user_us": 964.0, "system_us": 8.0, "rss_before": 15253504.0, "rss_after": 15450112.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16564224, "instructions": 84710694, "cycles": 23908649, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 0.9663749999999998, "user_us": 964.0, "system_us": 7.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16531456, "instructions": 84704632, "cycles": 23872813, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 159.661167, "user_us": 152328.0, "system_us": 9760.0, "rss_before": 33734656.0, "rss_after": 165281792.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 165691392, "instructions": 2963626895, "cycles": 566692453, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 0.9681659999999996, "user_us": 965.0, "system_us": 10.0, "rss_before": 15220736.0, "rss_after": 15417344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16515072, "instructions": 84620085, "cycles": 23647771, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 1221.1435000000001, "user_us": 1203669.0, "system_us": 25664.0, "rss_before": 60948480.0, "rss_after": 155664384.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 213565440, "instructions": 12571345528, "cycles": 4046335280, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 0.9664579999999994, "user_us": 965.0, "system_us": 6.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16547840, "instructions": 84777514, "cycles": 23780865, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 160.479375, "user_us": 152077.0, "system_us": 10840.0, "rss_before": 33751040.0, "rss_after": 183123968.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 183533568, "instructions": 2971203548, "cycles": 569951173, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 0.9667079999999997, "user_us": 965.0, "system_us": 6.0, "rss_before": 15253504.0, "rss_after": 15450112.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16564224, "instructions": 84747851, "cycles": 23892852, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 0.9649169999999998, "user_us": 962.0, "system_us": 7.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16531456, "instructions": 85147030, "cycles": 24633689, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 1223.40225, "user_us": 1203942.0, "system_us": 27388.0, "rss_before": 61161472.0, "rss_after": 156844032.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 208125952, "instructions": 12579091284, "cycles": 4048749223, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 1223.974459, "user_us": 1203902.0, "system_us": 28267.0, "rss_before": 61194240.0, "rss_after": 160595968.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 204193792, "instructions": 12586189554, "cycles": 4051164482, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 0.9731659999999995, "user_us": 967.0, "system_us": 10.0, "rss_before": 15237120.0, "rss_after": 15433728.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16547840, "instructions": 84658165, "cycles": 23909703, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 0.9690410000000007, "user_us": 966.0, "system_us": 7.0, "rss_before": 15220736.0, "rss_after": 15417344.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 16515072, "instructions": 84626194, "cycles": 23688499, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 159.681167, "user_us": 152213.0, "system_us": 9937.0, "rss_before": 33718272.0, "rss_after": 170868736.0, "checksum": 2788.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2786, "warmup": 2, "peak_rss": 171278336, "instructions": 2966657426, "cycles": 567162529, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 69.852334, "user_us": 67300.0, "system_us": 2556.0, "rss_before": 18219008.0, "rss_after": 55951360.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 895134604, "cycles": 246627183, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 69.776667, "user_us": 67178.0, "system_us": 2606.0, "rss_before": 18202624.0, "rss_after": 55934976.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56459264, "instructions": 895250273, "cycles": 246481603, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 1010.2996249999999, "user_us": 1003333.0, "system_us": 11565.0, "rss_before": 64471040.0, "rss_after": 194576384.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 195215360, "instructions": 21824486677, "cycles": 3373188200, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 1104.839083, "user_us": 1094261.0, "system_us": 13839.0, "rss_before": 36651008.0, "rss_after": 184877056.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 185286656, "instructions": 17691240069, "cycles": 3600826053, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 67.630708, "user_us": 65051.0, "system_us": 2584.0, "rss_before": 18219008.0, "rss_after": 55967744.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 899165503, "cycles": 239705618, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 68.86987500000001, "user_us": 66362.0, "system_us": 2511.0, "rss_before": 18235392.0, "rss_after": 55934976.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56475648, "instructions": 894061620, "cycles": 243441954, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 1030.509958, "user_us": 1024721.0, "system_us": 14747.0, "rss_before": 64372736.0, "rss_after": 97124352.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 195051520, "instructions": 21830127842, "cycles": 3436797686, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 1106.336959, "user_us": 1096391.0, "system_us": 12796.0, "rss_before": 36683776.0, "rss_after": 159678464.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 160088064, "instructions": 17686939679, "cycles": 3604327420, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 1104.6069169999998, "user_us": 1096879.0, "system_us": 10845.0, "rss_before": 36651008.0, "rss_after": 131612672.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 132022272, "instructions": 17674430352, "cycles": 3599642086, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 71.045333, "user_us": 68351.0, "system_us": 2698.0, "rss_before": 18202624.0, "rss_after": 55967744.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 894578918, "cycles": 250681035, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 1010.6669590000001, "user_us": 1003636.0, "system_us": 11525.0, "rss_before": 64487424.0, "rss_after": 194641920.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 195477504, "instructions": 21828426057, "cycles": 3376457809, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 67.36875, "user_us": 64752.0, "system_us": 2621.0, "rss_before": 18235392.0, "rss_after": 55951360.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 894337185, "cycles": 238815745, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 65.15849999999999, "user_us": 62609.0, "system_us": 2557.0, "rss_before": 18219008.0, "rss_after": 55984128.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56524800, "instructions": 895401643, "cycles": 231356707, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 1108.917667, "user_us": 1099953.0, "system_us": 11937.0, "rss_before": 37109760.0, "rss_after": 156336128.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 156745728, "instructions": 17674397399, "cycles": 3612730970, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 1010.0587919999999, "user_us": 1003958.0, "system_us": 10547.0, "rss_before": 64536576.0, "rss_after": 194641920.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 195510272, "instructions": 21834236355, "cycles": 3379959127, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 65.83924999999999, "user_us": 63080.0, "system_us": 2763.0, "rss_before": 18219008.0, "rss_after": 55934976.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56459264, "instructions": 894629828, "cycles": 234044160, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 73.053208, "user_us": 70495.0, "system_us": 2563.0, "rss_before": 18235392.0, "rss_after": 55951360.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 895784998, "cycles": 256890416, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 1014.9163749999999, "user_us": 1008126.0, "system_us": 15013.0, "rss_before": 64307200.0, "rss_after": 135200768.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 213041152, "instructions": 21843149834, "cycles": 3385490412, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 74.251375, "user_us": 71693.0, "system_us": 2562.0, "rss_before": 18219008.0, "rss_after": 55934976.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56459264, "instructions": 894160013, "cycles": 260534028, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 1110.111375, "user_us": 1102932.0, "system_us": 10169.0, "rss_before": 37109760.0, "rss_after": 132022272.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 132431872, "instructions": 17663942406, "cycles": 3616816976, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 1105.87225, "user_us": 1096549.0, "system_us": 12145.0, "rss_before": 36634624.0, "rss_after": 162496512.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 162906112, "instructions": 17683634970, "cycles": 3603109994, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 61.71329099999999, "user_us": 59218.0, "system_us": 2499.0, "rss_before": 18235392.0, "rss_after": 55951360.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 894382684, "cycles": 220573073, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 74.353, "user_us": 71627.0, "system_us": 2730.0, "rss_before": 18202624.0, "rss_after": 55934976.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56459264, "instructions": 894429542, "cycles": 261171634, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 1001.208334, "user_us": 996224.0, "system_us": 13309.0, "rss_before": 64372736.0, "rss_after": 101826560.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 198819840, "instructions": 21826775963, "cycles": 3337155855, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 1010.46275, "user_us": 1003796.0, "system_us": 11180.0, "rss_before": 64471040.0, "rss_after": 194625536.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 195477504, "instructions": 21834243406, "cycles": 3381676693, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 71.662583, "user_us": 68930.0, "system_us": 2737.0, "rss_before": 18219008.0, "rss_after": 55967744.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56492032, "instructions": 894465798, "cycles": 252437093, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 1103.814542, "user_us": 1094209.0, "system_us": 12525.0, "rss_before": 36651008.0, "rss_after": 168099840.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 168509440, "instructions": 17683859141, "cycles": 3596692960, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 71.861625, "user_us": 68918.0, "system_us": 2951.0, "rss_before": 18235392.0, "rss_after": 55984128.0, "checksum": 1159280586.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 2475, "warmup": 2, "peak_rss": 56524800, "instructions": 894603576, "cycles": 253100517, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 264.08074999999997, "user_us": 259487.0, "system_us": 5864.0, "rss_before": 40468480.0, "rss_after": 99811328.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 100220928, "instructions": 4585986767, "cycles": 929970461, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 321.41366600000003, "user_us": 328785.0, "system_us": 7267.0, "rss_before": 73154560.0, "rss_after": 126468096.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127057920, "instructions": 4978301840, "cycles": 1214495088, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 185.889959, "user_us": 172729.0, "system_us": 13166.0, "rss_before": 24625152.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238780416, "instructions": 2804174312, "cycles": 641163314, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 186.57512499999999, "user_us": 172416.0, "system_us": 14165.0, "rss_before": 24625152.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238764032, "instructions": 2804976814, "cycles": 643445233, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 186.024459, "user_us": 172221.0, "system_us": 13809.0, "rss_before": 24608768.0, "rss_after": 238223360.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238747648, "instructions": 2804422431, "cycles": 641699487, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 321.623375, "user_us": 329352.0, "system_us": 6882.0, "rss_before": 73023488.0, "rss_after": 126402560.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127025152, "instructions": 4981595334, "cycles": 1218237019, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 263.070334, "user_us": 258292.0, "system_us": 5859.0, "rss_before": 40517632.0, "rss_after": 99811328.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 100220928, "instructions": 4586096527, "cycles": 925767889, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 186.62866699999998, "user_us": 172672.0, "system_us": 13963.0, "rss_before": 24641536.0, "rss_after": 238256128.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238796800, "instructions": 2805070440, "cycles": 643521916, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 321.667792, "user_us": 329163.0, "system_us": 7034.0, "rss_before": 73220096.0, "rss_after": 126468096.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127074304, "instructions": 4978766874, "cycles": 1215568190, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 186.43929200000002, "user_us": 172376.0, "system_us": 14069.0, "rss_before": 24625152.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238764032, "instructions": 2804717268, "cycles": 643067318, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 263.941917, "user_us": 259343.0, "system_us": 5808.0, "rss_before": 40517632.0, "rss_after": 99287040.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 99696640, "instructions": 4586456627, "cycles": 928899307, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 185.754375, "user_us": 172219.0, "system_us": 13541.0, "rss_before": 24641536.0, "rss_after": 238256128.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238796800, "instructions": 2803559506, "cycles": 640732358, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 263.789125, "user_us": 258631.0, "system_us": 6354.0, "rss_before": 40468480.0, "rss_after": 99287040.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 99696640, "instructions": 4587172672, "cycles": 928353046, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 185.74775000000002, "user_us": 172405.0, "system_us": 13348.0, "rss_before": 24641536.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238780416, "instructions": 2804109786, "cycles": 640867738, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 185.76770899999997, "user_us": 172473.0, "system_us": 13300.0, "rss_before": 24625152.0, "rss_after": 238223360.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238747648, "instructions": 2803987921, "cycles": 640881800, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 320.968834, "user_us": 328582.0, "system_us": 7001.0, "rss_before": 73220096.0, "rss_after": 126500864.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127123456, "instructions": 4982399851, "cycles": 1216147053, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 187.08266700000001, "user_us": 173007.0, "system_us": 14081.0, "rss_before": 24641536.0, "rss_after": 238256128.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238796800, "instructions": 2804354002, "cycles": 645132319, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 321.34304199999997, "user_us": 329034.0, "system_us": 6787.0, "rss_before": 73236480.0, "rss_after": 126468096.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127057920, "instructions": 4983346400, "cycles": 1217960312, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 263.962667, "user_us": 259156.0, "system_us": 6014.0, "rss_before": 40501248.0, "rss_after": 99319808.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 99729408, "instructions": 4588351823, "cycles": 929218352, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 186.124084, "user_us": 172503.0, "system_us": 13626.0, "rss_before": 24625152.0, "rss_after": 238223360.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238747648, "instructions": 2804712914, "cycles": 642884785, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 264.137083, "user_us": 259358.0, "system_us": 5965.0, "rss_before": 40468480.0, "rss_after": 99287040.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 99696640, "instructions": 4586785664, "cycles": 929389762, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 319.15475, "user_us": 327825.0, "system_us": 6925.0, "rss_before": 73121792.0, "rss_after": 126418944.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127008768, "instructions": 4984083877, "cycles": 1213607514, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 186.691292, "user_us": 172934.0, "system_us": 13763.0, "rss_before": 24625152.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238780416, "instructions": 2804407972, "cycles": 643993037, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 186.78625, "user_us": 172408.0, "system_us": 14385.0, "rss_before": 24608768.0, "rss_after": 238223360.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238747648, "instructions": 2804740168, "cycles": 643966624, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 323.166167, "user_us": 332267.0, "system_us": 6841.0, "rss_before": 73203712.0, "rss_after": 126500864.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 127090688, "instructions": 4981081183, "cycles": 1225527812, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 263.086334, "user_us": 258345.0, "system_us": 5809.0, "rss_before": 40501248.0, "rss_after": 99303424.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 99713024, "instructions": 4586271843, "cycles": 926194138, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 186.064333, "user_us": 172285.0, "system_us": 13782.0, "rss_before": 24625152.0, "rss_after": 238223360.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238747648, "instructions": 2803964454, "cycles": 641570195, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 186.412333, "user_us": 172703.0, "system_us": 13715.0, "rss_before": 24625152.0, "rss_after": 238239744.0, "checksum": 66.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 64, "warmup": 2, "peak_rss": 238780416, "instructions": 2804585554, "cycles": 643156802, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 1467.448375, "user_us": 1468684.0, "system_us": 7698.0, "rss_before": 73498624.0, "rss_after": 123256832.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123731968, "instructions": 13563947006, "cycles": 4921771923, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 146.958791, "user_us": 144067.0, "system_us": 2897.0, "rss_before": 24920064.0, "rss_after": 71467008.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 72024064, "instructions": 3470091434, "cycles": 513871383, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 147.474167, "user_us": 144375.0, "system_us": 3105.0, "rss_before": 24903680.0, "rss_after": 71417856.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71958528, "instructions": 3470446009, "cycles": 515451673, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 153.197042, "user_us": 150609.0, "system_us": 3338.0, "rss_before": 42156032.0, "rss_after": 88408064.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 88817664, "instructions": 3557584996, "cycles": 565266754, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 1466.1161670000001, "user_us": 1466657.0, "system_us": 7799.0, "rss_before": 73531392.0, "rss_after": 123191296.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123650048, "instructions": 13570940671, "cycles": 4911238941, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 146.85733299999998, "user_us": 144036.0, "system_us": 2827.0, "rss_before": 24920064.0, "rss_after": 71434240.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71991296, "instructions": 3470139654, "cycles": 513216250, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 146.876833, "user_us": 144060.0, "system_us": 2823.0, "rss_before": 24903680.0, "rss_after": 71417856.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71958528, "instructions": 3470196932, "cycles": 513102520, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 153.38312499999998, "user_us": 150604.0, "system_us": 3592.0, "rss_before": 42139648.0, "rss_after": 88195072.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 88604672, "instructions": 3557717539, "cycles": 565961189, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 148.44025, "user_us": 145456.0, "system_us": 2880.0, "rss_before": 24903680.0, "rss_after": 71434240.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71991296, "instructions": 3470367349, "cycles": 515000290, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 1457.075875, "user_us": 1457174.0, "system_us": 8366.0, "rss_before": 73498624.0, "rss_after": 123174912.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123682816, "instructions": 13571900723, "cycles": 4885507299, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 153.234083, "user_us": 150778.0, "system_us": 3267.0, "rss_before": 42139648.0, "rss_after": 87064576.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 87474176, "instructions": 3557010901, "cycles": 565274548, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 147.11225, "user_us": 144128.0, "system_us": 2991.0, "rss_before": 24887296.0, "rss_after": 71417856.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71958528, "instructions": 3470253894, "cycles": 514473586, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 1463.342209, "user_us": 1463698.0, "system_us": 8073.0, "rss_before": 73596928.0, "rss_after": 123256832.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123781120, "instructions": 13582372097, "cycles": 4910503385, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 146.882833, "user_us": 144120.0, "system_us": 2768.0, "rss_before": 24920064.0, "rss_after": 71467008.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 72024064, "instructions": 3470120089, "cycles": 513681426, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 153.2715, "user_us": 150670.0, "system_us": 3270.0, "rss_before": 42172416.0, "rss_after": 88211456.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 88621056, "instructions": 3557064152, "cycles": 564584564, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 147.327375, "user_us": 144271.0, "system_us": 3062.0, "rss_before": 24903680.0, "rss_after": 71417856.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71958528, "instructions": 3470244087, "cycles": 514773038, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 1457.0275, "user_us": 1457223.0, "system_us": 7911.0, "rss_before": 73613312.0, "rss_after": 123224064.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123764736, "instructions": 13590818601, "cycles": 4887318820, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 147.00341699999998, "user_us": 144071.0, "system_us": 2937.0, "rss_before": 24903680.0, "rss_after": 71450624.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71991296, "instructions": 3470212790, "cycles": 513904262, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 147.281042, "user_us": 144280.0, "system_us": 3009.0, "rss_before": 24920064.0, "rss_after": 71467008.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 72024064, "instructions": 3470359602, "cycles": 514827042, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 153.275125, "user_us": 150653.0, "system_us": 3460.0, "rss_before": 42172416.0, "rss_after": 88326144.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 88735744, "instructions": 3557811782, "cycles": 564912788, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 153.1485, "user_us": 150555.0, "system_us": 3340.0, "rss_before": 42156032.0, "rss_after": 88457216.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 88866816, "instructions": 3557446372, "cycles": 564708566, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 147.280833, "user_us": 144131.0, "system_us": 3158.0, "rss_before": 24920064.0, "rss_after": 71434240.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71991296, "instructions": 3470219002, "cycles": 514784675, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 147.305666, "user_us": 144402.0, "system_us": 2892.0, "rss_before": 24887296.0, "rss_after": 71417856.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71958528, "instructions": 3470243305, "cycles": 514487779, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 1457.844209, "user_us": 1457727.0, "system_us": 8289.0, "rss_before": 73515008.0, "rss_after": 123158528.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123715584, "instructions": 13580866531, "cycles": 4886739091, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 147.13862500000002, "user_us": 144230.0, "system_us": 2914.0, "rss_before": 24903680.0, "rss_after": 71467008.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 72024064, "instructions": 3470337936, "cycles": 514179343, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 153.641167, "user_us": 150697.0, "system_us": 3751.0, "rss_before": 42139648.0, "rss_after": 88850432.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 89260032, "instructions": 3558362690, "cycles": 566423714, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 147.054125, "user_us": 144196.0, "system_us": 2864.0, "rss_before": 24887296.0, "rss_after": 71450624.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 71991296, "instructions": 3470369134, "cycles": 513815885, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 1461.1214579999998, "user_us": 1461624.0, "system_us": 7948.0, "rss_before": 73515008.0, "rss_after": 123109376.0, "checksum": 228800754.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 232, "warmup": 2, "peak_rss": 123584512, "instructions": 13567702485, "cycles": 4896186304, "engine": "node", "operation": "stringify", "rep": 6} +{"wall_ms": 158.573875, "user_us": 140442.0, "system_us": 18136.0, "rss_before": 20381696.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645364433, "cycles": 536965804, "engine": "perry", "operation": "parse", "rep": 0} +{"wall_ms": 404.033917, "user_us": 410488.0, "system_us": 6962.0, "rss_before": 36749312.0, "rss_after": 103956480.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104366080, "instructions": 7926968476, "cycles": 1402455389, "engine": "bun", "operation": "parse", "rep": 0} +{"wall_ms": 536.523, "user_us": 541271.0, "system_us": 5774.0, "rss_before": 65323008.0, "rss_after": 96010240.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 97304576, "instructions": 10358915994, "cycles": 1909484877, "engine": "node", "operation": "parse", "rep": 0} +{"wall_ms": 158.632958, "user_us": 140577.0, "system_us": 18057.0, "rss_before": 20381696.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645241131, "cycles": 536487121, "engine": "baseline", "operation": "parse", "rep": 0} +{"wall_ms": 158.23637499999998, "user_us": 140273.0, "system_us": 17968.0, "rss_before": 20381696.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645491500, "cycles": 535754080, "engine": "baseline", "operation": "parse", "rep": 1} +{"wall_ms": 158.073625, "user_us": 140120.0, "system_us": 17958.0, "rss_before": 20365312.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645383881, "cycles": 535363519, "engine": "perry", "operation": "parse", "rep": 1} +{"wall_ms": 533.084292, "user_us": 538717.0, "system_us": 5610.0, "rss_before": 65503232.0, "rss_after": 96157696.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 96829440, "instructions": 10245221718, "cycles": 1874562033, "engine": "node", "operation": "parse", "rep": 1} +{"wall_ms": 408.80562499999996, "user_us": 415314.0, "system_us": 6756.0, "rss_before": 36765696.0, "rss_after": 104103936.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104513536, "instructions": 7932484871, "cycles": 1417696742, "engine": "bun", "operation": "parse", "rep": 1} +{"wall_ms": 158.461, "user_us": 140241.0, "system_us": 18226.0, "rss_before": 20381696.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645570008, "cycles": 536696988, "engine": "baseline", "operation": "parse", "rep": 2} +{"wall_ms": 158.719209, "user_us": 140350.0, "system_us": 18374.0, "rss_before": 20381696.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645411388, "cycles": 537645701, "engine": "perry", "operation": "parse", "rep": 2} +{"wall_ms": 404.69624999999996, "user_us": 411006.0, "system_us": 7013.0, "rss_before": 36732928.0, "rss_after": 104300544.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104710144, "instructions": 7927387820, "cycles": 1404192954, "engine": "bun", "operation": "parse", "rep": 2} +{"wall_ms": 537.193458, "user_us": 542422.0, "system_us": 5575.0, "rss_before": 65486848.0, "rss_after": 96075776.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 97353728, "instructions": 10273174496, "cycles": 1904574717, "engine": "node", "operation": "parse", "rep": 2} +{"wall_ms": 158.42345799999998, "user_us": 140222.0, "system_us": 18207.0, "rss_before": 20381696.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645879242, "cycles": 536677410, "engine": "perry", "operation": "parse", "rep": 3} +{"wall_ms": 409.460917, "user_us": 415960.0, "system_us": 6699.0, "rss_before": 36765696.0, "rss_after": 104022016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104431616, "instructions": 7929177342, "cycles": 1419130775, "engine": "bun", "operation": "parse", "rep": 3} +{"wall_ms": 159.510833, "user_us": 141061.0, "system_us": 18455.0, "rss_before": 20398080.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645852540, "cycles": 539956461, "engine": "baseline", "operation": "parse", "rep": 3} +{"wall_ms": 538.806, "user_us": 543921.0, "system_us": 5314.0, "rss_before": 65388544.0, "rss_after": 95993856.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 97288192, "instructions": 10343449687, "cycles": 1913435241, "engine": "node", "operation": "parse", "rep": 3} +{"wall_ms": 409.475708, "user_us": 415670.0, "system_us": 6984.0, "rss_before": 36749312.0, "rss_after": 104120320.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104529920, "instructions": 7931517485, "cycles": 1419517676, "engine": "bun", "operation": "parse", "rep": 4} +{"wall_ms": 547.3935, "user_us": 552912.0, "system_us": 5314.0, "rss_before": 65585152.0, "rss_after": 96206848.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 96894976, "instructions": 10264263508, "cycles": 1923590519, "engine": "node", "operation": "parse", "rep": 4} +{"wall_ms": 158.986958, "user_us": 140647.0, "system_us": 18341.0, "rss_before": 20365312.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645728594, "cycles": 537872921, "engine": "perry", "operation": "parse", "rep": 4} +{"wall_ms": 158.348958, "user_us": 140269.0, "system_us": 18088.0, "rss_before": 20398080.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645972767, "cycles": 536498689, "engine": "baseline", "operation": "parse", "rep": 4} +{"wall_ms": 159.363333, "user_us": 141215.0, "system_us": 18154.0, "rss_before": 20398080.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645551171, "cycles": 540485075, "engine": "baseline", "operation": "parse", "rep": 5} +{"wall_ms": 533.324875, "user_us": 539933.0, "system_us": 4685.0, "rss_before": 65355776.0, "rss_after": 95993856.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 96780288, "instructions": 10278961849, "cycles": 1874501867, "engine": "node", "operation": "parse", "rep": 5} +{"wall_ms": 158.520875, "user_us": 140489.0, "system_us": 18037.0, "rss_before": 20365312.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2646031723, "cycles": 536590164, "engine": "perry", "operation": "parse", "rep": 5} +{"wall_ms": 408.39641700000004, "user_us": 413831.0, "system_us": 7501.0, "rss_before": 36749312.0, "rss_after": 104038400.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104448000, "instructions": 7925028330, "cycles": 1415613968, "engine": "bun", "operation": "parse", "rep": 5} +{"wall_ms": 159.406875, "user_us": 141164.0, "system_us": 18247.0, "rss_before": 20381696.0, "rss_after": 65110016.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65617920, "instructions": 2645664074, "cycles": 539719856, "engine": "baseline", "operation": "parse", "rep": 6} +{"wall_ms": 534.523583, "user_us": 540499.0, "system_us": 5516.0, "rss_before": 65306624.0, "rss_after": 96026624.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 97337344, "instructions": 10270530440, "cycles": 1900856883, "engine": "node", "operation": "parse", "rep": 6} +{"wall_ms": 158.702833, "user_us": 140456.0, "system_us": 18252.0, "rss_before": 20365312.0, "rss_after": 65093632.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 65585152, "instructions": 2645600600, "cycles": 537391042, "engine": "perry", "operation": "parse", "rep": 6} +{"wall_ms": 406.125625, "user_us": 412232.0, "system_us": 7254.0, "rss_before": 36765696.0, "rss_after": 104120320.0, "checksum": 144.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 142, "warmup": 2, "peak_rss": 104529920, "instructions": 7925768282, "cycles": 1408654845, "engine": "bun", "operation": "parse", "rep": 6} +{"wall_ms": 156.418083, "user_us": 153700.0, "system_us": 2725.0, "rss_before": 21053440.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64716800, "instructions": 3738368923, "cycles": 545758032, "engine": "perry", "operation": "stringify", "rep": 0} +{"wall_ms": 156.66091600000001, "user_us": 153855.0, "system_us": 2812.0, "rss_before": 21053440.0, "rss_after": 64208896.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64749568, "instructions": 3738518399, "cycles": 546451516, "engine": "baseline", "operation": "stringify", "rep": 0} +{"wall_ms": 229.622333, "user_us": 225393.0, "system_us": 5565.0, "rss_before": 38371328.0, "rss_after": 109658112.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 110067712, "instructions": 4668019733, "cycles": 806823728, "engine": "bun", "operation": "stringify", "rep": 0} +{"wall_ms": 188.96058399999998, "user_us": 189672.0, "system_us": 6211.0, "rss_before": 66273280.0, "rss_after": 134823936.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135462912, "instructions": 3963116739, "cycles": 753118103, "engine": "node", "operation": "stringify", "rep": 0} +{"wall_ms": 189.184208, "user_us": 189596.0, "system_us": 6084.0, "rss_before": 66306048.0, "rss_after": 134610944.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135249920, "instructions": 3961887885, "cycles": 751696760, "engine": "node", "operation": "stringify", "rep": 1} +{"wall_ms": 230.094, "user_us": 226056.0, "system_us": 5362.0, "rss_before": 38371328.0, "rss_after": 109641728.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 110051328, "instructions": 4667290981, "cycles": 809056654, "engine": "bun", "operation": "stringify", "rep": 1} +{"wall_ms": 156.54512499999998, "user_us": 153999.0, "system_us": 2550.0, "rss_before": 21069824.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738340915, "cycles": 546129250, "engine": "baseline", "operation": "stringify", "rep": 1} +{"wall_ms": 156.46500000000003, "user_us": 153846.0, "system_us": 2627.0, "rss_before": 21053440.0, "rss_after": 64176128.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64700416, "instructions": 3738368562, "cycles": 545543303, "engine": "perry", "operation": "stringify", "rep": 1} +{"wall_ms": 230.15437500000002, "user_us": 225993.0, "system_us": 5675.0, "rss_before": 38338560.0, "rss_after": 108691456.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 109101056, "instructions": 4665595672, "cycles": 809250951, "engine": "bun", "operation": "stringify", "rep": 2} +{"wall_ms": 156.87229100000002, "user_us": 154108.0, "system_us": 2769.0, "rss_before": 21053440.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64716800, "instructions": 3738709525, "cycles": 547237149, "engine": "perry", "operation": "stringify", "rep": 2} +{"wall_ms": 188.820875, "user_us": 189840.0, "system_us": 6014.0, "rss_before": 66387968.0, "rss_after": 134676480.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135233536, "instructions": 3962497533, "cycles": 752817918, "engine": "node", "operation": "stringify", "rep": 2} +{"wall_ms": 156.479375, "user_us": 153831.0, "system_us": 2653.0, "rss_before": 21069824.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738408068, "cycles": 545922998, "engine": "baseline", "operation": "stringify", "rep": 2} +{"wall_ms": 230.298708, "user_us": 226277.0, "system_us": 5369.0, "rss_before": 38322176.0, "rss_after": 109625344.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 110034944, "instructions": 4667914847, "cycles": 809325138, "engine": "bun", "operation": "stringify", "rep": 3} +{"wall_ms": 156.43075000000002, "user_us": 153909.0, "system_us": 2526.0, "rss_before": 21069824.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738337355, "cycles": 545812107, "engine": "baseline", "operation": "stringify", "rep": 3} +{"wall_ms": 156.46258400000002, "user_us": 153857.0, "system_us": 2609.0, "rss_before": 21037056.0, "rss_after": 64176128.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64700416, "instructions": 3738372070, "cycles": 545711879, "engine": "perry", "operation": "stringify", "rep": 3} +{"wall_ms": 188.975584, "user_us": 189605.0, "system_us": 6124.0, "rss_before": 66273280.0, "rss_after": 134643712.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135217152, "instructions": 3957353728, "cycles": 748716364, "engine": "node", "operation": "stringify", "rep": 3} +{"wall_ms": 188.998708, "user_us": 189797.0, "system_us": 6002.0, "rss_before": 66224128.0, "rss_after": 134627328.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135184384, "instructions": 3965608303, "cycles": 755964024, "engine": "node", "operation": "stringify", "rep": 4} +{"wall_ms": 156.807542, "user_us": 154059.0, "system_us": 2753.0, "rss_before": 21069824.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738340561, "cycles": 546974288, "engine": "baseline", "operation": "stringify", "rep": 4} +{"wall_ms": 156.365583, "user_us": 153764.0, "system_us": 2609.0, "rss_before": 21037056.0, "rss_after": 64176128.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64700416, "instructions": 3738330360, "cycles": 545468604, "engine": "perry", "operation": "stringify", "rep": 4} +{"wall_ms": 228.741209, "user_us": 224716.0, "system_us": 5550.0, "rss_before": 38354944.0, "rss_after": 108691456.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 109101056, "instructions": 4665523753, "cycles": 805054420, "engine": "bun", "operation": "stringify", "rep": 4} +{"wall_ms": 189.226917, "user_us": 189581.0, "system_us": 6069.0, "rss_before": 66355200.0, "rss_after": 134643712.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135233536, "instructions": 3962082714, "cycles": 752022994, "engine": "node", "operation": "stringify", "rep": 5} +{"wall_ms": 228.864291, "user_us": 224918.0, "system_us": 5416.0, "rss_before": 38338560.0, "rss_after": 108707840.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 109117440, "instructions": 4665107153, "cycles": 805350559, "engine": "bun", "operation": "stringify", "rep": 5} +{"wall_ms": 156.68825, "user_us": 154125.0, "system_us": 2573.0, "rss_before": 21069824.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738642294, "cycles": 545996467, "engine": "baseline", "operation": "stringify", "rep": 5} +{"wall_ms": 156.617875, "user_us": 153840.0, "system_us": 2785.0, "rss_before": 21053440.0, "rss_after": 64176128.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64700416, "instructions": 3738356263, "cycles": 546182640, "engine": "perry", "operation": "stringify", "rep": 5} +{"wall_ms": 156.481792, "user_us": 153835.0, "system_us": 2655.0, "rss_before": 21053440.0, "rss_after": 64176128.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64700416, "instructions": 3738386799, "cycles": 545828203, "engine": "perry", "operation": "stringify", "rep": 6} +{"wall_ms": 156.868875, "user_us": 154077.0, "system_us": 2792.0, "rss_before": 21053440.0, "rss_after": 64192512.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 64733184, "instructions": 3738241489, "cycles": 546715922, "engine": "baseline", "operation": "stringify", "rep": 6} +{"wall_ms": 228.71916599999997, "user_us": 224934.0, "system_us": 5210.0, "rss_before": 38338560.0, "rss_after": 108642304.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 109051904, "instructions": 4665107909, "cycles": 804713901, "engine": "bun", "operation": "stringify", "rep": 6} +{"wall_ms": 189.25687499999998, "user_us": 190297.0, "system_us": 6145.0, "rss_before": 66256896.0, "rss_after": 134742016.0, "checksum": 201144020.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 218, "warmup": 2, "peak_rss": 135348224, "instructions": 3961626025, "cycles": 752678716, "engine": "node", "operation": "stringify", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/verify.jsonl new file mode 100644 index 0000000000..c5334fa4af --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/verify.jsonl @@ -0,0 +1,250 @@ +{"wall_ms": 0.002375000000000682, "user_us": 357.0, "system_us": 36.0, "rss_before": 54951936.0, "rss_after": 55377920.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 292840321, "cycles": 101020993, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "node", "operation": "parse", "case_iterations": 2000000} +{"wall_ms": 0.0011669999999988079, "user_us": 12.0, "system_us": 38.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 13418496, "instructions": 74857840, "cycles": 42481918, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "perry", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0006670000000035259, "user_us": 7.0, "system_us": 23.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 13451264, "instructions": 74810673, "cycles": 42013605, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "baseline", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0025410000000007926, "user_us": 372.0, "system_us": 34.0, "rss_before": 54804480.0, "rss_after": 55263232.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 56098816, "instructions": 290022102, "cycles": 98365384, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "node", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0010419999999999874, "user_us": 2.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29671424.0, "checksum": 0.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 30097408, "instructions": 137539864, "cycles": 48154006, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "bun", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004082999999999615, "user_us": 322.0, "system_us": 29.0, "rss_before": 54935552.0, "rss_after": 55394304.0, "checksum": 60.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 56180736, "instructions": 291199820, "cycles": 99255045, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "node", "operation": "stringify", "case_iterations": 2000000} +{"wall_ms": 0.00016700000000025028, "user_us": 2.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 60.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 13631488, "instructions": 62891429, "cycles": 19514756, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "perry", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0001660000000001105, "user_us": 2.0, "system_us": 1.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 60.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 13680640, "instructions": 62890585, "cycles": 19409628, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "baseline", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004041999999998325, "user_us": 320.0, "system_us": 34.0, "rss_before": 54902784.0, "rss_after": 55443456.0, "checksum": 60.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 296575729, "cycles": 103580302, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "node", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0012090000000011258, "user_us": 3.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 60.0, "retained": 0.0, "fixture": "null", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137028331, "cycles": 47674144, "verify_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "engine": "bun", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0022079999999995437, "user_us": 329.0, "system_us": 33.0, "rss_before": 54984704.0, "rss_after": 55427072.0, "checksum": 15.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 293043613, "cycles": 101110153, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "node", "operation": "parse", "case_iterations": 2000000} +{"wall_ms": 0.00020799999999976393, "user_us": 2.0, "system_us": 2.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 15.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 13418496, "instructions": 62322737, "cycles": 19145170, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "perry", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0002909999999998192, "user_us": 2.0, "system_us": 5.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 15.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 13451264, "instructions": 62396032, "cycles": 19128094, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "baseline", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0024170000000012237, "user_us": 321.0, "system_us": 30.0, "rss_before": 54870016.0, "rss_after": 55328768.0, "checksum": 15.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 289338646, "cycles": 97905485, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "node", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.001082999999999501, "user_us": 2.0, "system_us": 2.0, "rss_before": 29622272.0, "rss_after": 29655040.0, "checksum": 15.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 30097408, "instructions": 137004035, "cycles": 47900570, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "bun", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004125000000000156, "user_us": 324.0, "system_us": 32.0, "rss_before": 54853632.0, "rss_after": 55345152.0, "checksum": 45.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 56147968, "instructions": 290226584, "cycles": 98795961, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "node", "operation": "stringify", "case_iterations": 2000000} +{"wall_ms": 0.00025000000000030553, "user_us": 2.0, "system_us": 2.0, "rss_before": 12500992.0, "rss_after": 12517376.0, "checksum": 45.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 13631488, "instructions": 62367815, "cycles": 18987280, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "perry", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.00024999999999986144, "user_us": 2.0, "system_us": 1.0, "rss_before": 12517376.0, "rss_after": 12533760.0, "checksum": 45.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 13664256, "instructions": 62409310, "cycles": 18996512, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "baseline", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004125000000000156, "user_us": 328.0, "system_us": 41.0, "rss_before": 54886400.0, "rss_after": 55427072.0, "checksum": 45.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 287704146, "cycles": 96621703, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "node", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0012500000000006395, "user_us": 3.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 45.0, "retained": 0.0, "fixture": "string_a", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137054991, "cycles": 47979265, "verify_sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", "engine": "bun", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0040410000000008495, "user_us": 369.0, "system_us": 37.0, "rss_before": 54853632.0, "rss_after": 55345152.0, "checksum": 15.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 295593140, "cycles": 103262844, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "node", "operation": "parse", "case_iterations": 2000000} +{"wall_ms": 0.00029200000000040305, "user_us": 2.0, "system_us": 1.0, "rss_before": 12222464.0, "rss_after": 12238848.0, "checksum": 15.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 13565952, "instructions": 62581431, "cycles": 19075347, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "perry", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0003749999999995701, "user_us": 3.0, "system_us": 2.0, "rss_before": 12238848.0, "rss_after": 12255232.0, "checksum": 15.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 13598720, "instructions": 62653504, "cycles": 19230991, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "baseline", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.011583000000001675, "user_us": 323.0, "system_us": 40.0, "rss_before": 54886400.0, "rss_after": 55377920.0, "checksum": 15.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 300382624, "cycles": 106835935, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "node", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0009999999999994458, "user_us": 3.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29687808.0, "checksum": 15.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137121004, "cycles": 47741168, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "bun", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004374999999999574, "user_us": 325.0, "system_us": 41.0, "rss_before": 54935552.0, "rss_after": 55476224.0, "checksum": 30.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 288852346, "cycles": 97623231, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "node", "operation": "stringify", "case_iterations": 2000000} +{"wall_ms": 0.00029199999999995896, "user_us": 3.0, "system_us": 2.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 30.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62456019, "cycles": 19170170, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "perry", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.00029199999999995896, "user_us": 2.0, "system_us": 1.0, "rss_before": 12615680.0, "rss_after": 12632064.0, "checksum": 30.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 62413898, "cycles": 18894171, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "baseline", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004125000000000156, "user_us": 321.0, "system_us": 31.0, "rss_before": 54984704.0, "rss_after": 55443456.0, "checksum": 30.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 291883014, "cycles": 100005631, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "node", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.00137499999999946, "user_us": 3.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29720576.0, "checksum": 30.0, "retained": 0.0, "fixture": "empty_object", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137061038, "cycles": 48039426, "verify_sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "engine": "bun", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004540999999999684, "user_us": 322.0, "system_us": 32.0, "rss_before": 54902784.0, "rss_after": 55394304.0, "checksum": 15.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 295836343, "cycles": 103476232, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "parse", "case_iterations": 2000000} +{"wall_ms": 0.0004579999999996254, "user_us": 3.0, "system_us": 5.0, "rss_before": 12419072.0, "rss_after": 12517376.0, "checksum": 15.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13680640, "instructions": 62542929, "cycles": 19330122, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0004170000000001117, "user_us": 3.0, "system_us": 4.0, "rss_before": 12435456.0, "rss_after": 12533760.0, "checksum": 15.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62558603, "cycles": 19236809, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004416000000000864, "user_us": 327.0, "system_us": 41.0, "rss_before": 54951936.0, "rss_after": 55427072.0, "checksum": 15.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 292886151, "cycles": 100996818, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0012919999999994047, "user_us": 3.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 15.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137047902, "cycles": 47996848, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "parse", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004125000000001933, "user_us": 319.0, "system_us": 35.0, "rss_before": 54968320.0, "rss_after": 55508992.0, "checksum": 105.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 295908605, "cycles": 103858076, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "stringify", "case_iterations": 2000000} +{"wall_ms": 0.0003750000000000142, "user_us": 2.0, "system_us": 1.0, "rss_before": 12550144.0, "rss_after": 12566528.0, "checksum": 105.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13680640, "instructions": 62429116, "cycles": 19120451, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0003750000000000142, "user_us": 2.0, "system_us": 2.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 105.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62547764, "cycles": 19273456, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004291000000002043, "user_us": 321.0, "system_us": 34.0, "rss_before": 55017472.0, "rss_after": 55525376.0, "checksum": 105.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 293467216, "cycles": 101208418, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0013750000000012363, "user_us": 3.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29720576.0, "checksum": 105.0, "retained": 0.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 136982826, "cycles": 47834137, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.00554099999999913, "user_us": 323.0, "system_us": 33.0, "rss_before": 54984704.0, "rss_after": 55459840.0, "checksum": 15.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 291678028, "cycles": 99683828, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "parse", "case_iterations": 1581369} +{"wall_ms": 0.0009160000000001389, "user_us": 3.0, "system_us": 5.0, "rss_before": 12402688.0, "rss_after": 12500992.0, "checksum": 15.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62486075, "cycles": 19157743, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "parse", "case_iterations": 1581369, "correct": true} +{"wall_ms": 0.0009580000000002364, "user_us": 3.0, "system_us": 5.0, "rss_before": 12419072.0, "rss_after": 12517376.0, "checksum": 15.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62508862, "cycles": 19252338, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "parse", "case_iterations": 1581369, "correct": true} +{"wall_ms": 0.0055829999999996716, "user_us": 325.0, "system_us": 35.0, "rss_before": 54951936.0, "rss_after": 55459840.0, "checksum": 15.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 289730929, "cycles": 97773195, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "parse", "case_iterations": 1581369, "correct": true} +{"wall_ms": 0.0029159999999990305, "user_us": 4.0, "system_us": 4.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 15.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137149719, "cycles": 47812812, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "parse", "case_iterations": 1581369, "correct": true} +{"wall_ms": 0.003750000000000142, "user_us": 322.0, "system_us": 30.0, "rss_before": 55050240.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 296621704, "cycles": 103810406, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "stringify", "case_iterations": 2000000} +{"wall_ms": 0.00045800000000006946, "user_us": 2.0, "system_us": 2.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62542992, "cycles": 19314946, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.00045800000000006946, "user_us": 3.0, "system_us": 1.0, "rss_before": 12582912.0, "rss_after": 12599296.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62467207, "cycles": 18997925, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.003540999999998462, "user_us": 323.0, "system_us": 36.0, "rss_before": 55050240.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 301788416, "cycles": 107782900, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0019580000000001263, "user_us": 3.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137213666, "cycles": 47821555, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "stringify", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.008041000000000409, "user_us": 328.0, "system_us": 37.0, "rss_before": 54935552.0, "rss_after": 55508992.0, "checksum": 15.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 56360960, "instructions": 290788621, "cycles": 98919423, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "node", "operation": "parse", "case_iterations": 1961848} +{"wall_ms": 0.00079200000000057, "user_us": 2.0, "system_us": 2.0, "rss_before": 12419072.0, "rss_after": 12517376.0, "checksum": 15.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62581622, "cycles": 19373909, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "perry", "operation": "parse", "case_iterations": 1961848, "correct": true} +{"wall_ms": 0.0008340000000002235, "user_us": 2.0, "system_us": 4.0, "rss_before": 12435456.0, "rss_after": 12533760.0, "checksum": 15.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62645632, "cycles": 19251926, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "baseline", "operation": "parse", "case_iterations": 1961848, "correct": true} +{"wall_ms": 0.007749999999999702, "user_us": 324.0, "system_us": 39.0, "rss_before": 54935552.0, "rss_after": 55427072.0, "checksum": 15.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 288445557, "cycles": 96629400, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "node", "operation": "parse", "case_iterations": 1961848, "correct": true} +{"wall_ms": 0.003750000000000142, "user_us": 4.0, "system_us": 3.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 15.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 30162944, "instructions": 137291536, "cycles": 47895416, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "bun", "operation": "parse", "case_iterations": 1961848, "correct": true} +{"wall_ms": 0.005707999999998492, "user_us": 325.0, "system_us": 41.0, "rss_before": 55050240.0, "rss_after": 55590912.0, "checksum": 15315.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 56442880, "instructions": 294679226, "cycles": 102562172, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "node", "operation": "stringify", "case_iterations": 1036867} +{"wall_ms": 0.0015420000000001544, "user_us": 3.0, "system_us": 2.0, "rss_before": 12566528.0, "rss_after": 12599296.0, "checksum": 15315.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62510223, "cycles": 19320165, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "perry", "operation": "stringify", "case_iterations": 1036867, "correct": true} +{"wall_ms": 0.0016660000000001673, "user_us": 3.0, "system_us": 2.0, "rss_before": 12599296.0, "rss_after": 12632064.0, "checksum": 15315.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 62658772, "cycles": 19182117, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "baseline", "operation": "stringify", "case_iterations": 1036867, "correct": true} +{"wall_ms": 0.00554099999999913, "user_us": 323.0, "system_us": 36.0, "rss_before": 54951936.0, "rss_after": 55508992.0, "checksum": 15315.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 290397812, "cycles": 98360770, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "node", "operation": "stringify", "case_iterations": 1036867, "correct": true} +{"wall_ms": 0.005290999999999713, "user_us": 5.0, "system_us": 4.0, "rss_before": 29769728.0, "rss_after": 29818880.0, "checksum": 15315.0, "retained": 0.0, "fixture": "object_1k", "iterations": 7, "warmup": 8, "peak_rss": 30244864, "instructions": 137806299, "cycles": 48715452, "verify_sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", "engine": "bun", "operation": "stringify", "case_iterations": 1036867, "correct": true} +{"wall_ms": 0.28908300000000153, "user_us": 701.0, "system_us": 49.0, "rss_before": 55164928.0, "rss_after": 55820288.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57360384, "instructions": 308020057, "cycles": 106595327, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "parse", "case_iterations": 11284} +{"wall_ms": 0.08791599999999988, "user_us": 83.0, "system_us": 10.0, "rss_before": 12681216.0, "rss_after": 12943360.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14106624, "instructions": 66183213, "cycles": 20083579, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "perry", "operation": "parse", "case_iterations": 11284, "correct": true} +{"wall_ms": 0.08983299999999961, "user_us": 83.0, "system_us": 11.0, "rss_before": 12697600.0, "rss_after": 12959744.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14139392, "instructions": 66058680, "cycles": 19899970, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "baseline", "operation": "parse", "case_iterations": 11284, "correct": true} +{"wall_ms": 0.29824999999999946, "user_us": 700.0, "system_us": 54.0, "rss_before": 55246848.0, "rss_after": 55902208.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57425920, "instructions": 306923373, "cycles": 105599398, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "parse", "case_iterations": 11284, "correct": true} +{"wall_ms": 0.24450000000000038, "user_us": 232.0, "system_us": 16.0, "rss_before": 29900800.0, "rss_after": 30162944.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 30687232, "instructions": 147241594, "cycles": 49553330, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "bun", "operation": "parse", "case_iterations": 11284, "correct": true} +{"wall_ms": 0.10966700000000174, "user_us": 517.0, "system_us": 43.0, "rss_before": 55197696.0, "rss_after": 55754752.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57212928, "instructions": 303414304, "cycles": 106677130, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "stringify", "case_iterations": 12949} +{"wall_ms": 0.07762499999999983, "user_us": 75.0, "system_us": 6.0, "rss_before": 12845056.0, "rss_after": 12959744.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14090240, "instructions": 66295753, "cycles": 19986313, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "perry", "operation": "stringify", "case_iterations": 12949, "correct": true} +{"wall_ms": 0.07616700000000032, "user_us": 74.0, "system_us": 5.0, "rss_before": 12877824.0, "rss_after": 12992512.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14139392, "instructions": 66216753, "cycles": 19888605, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "baseline", "operation": "stringify", "case_iterations": 12949, "correct": true} +{"wall_ms": 0.11120799999999775, "user_us": 517.0, "system_us": 44.0, "rss_before": 55214080.0, "rss_after": 55836672.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57311232, "instructions": 299143421, "cycles": 102566440, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "stringify", "case_iterations": 12949, "correct": true} +{"wall_ms": 0.18029199999999967, "user_us": 164.0, "system_us": 20.0, "rss_before": 30130176.0, "rss_after": 30359552.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 30769152, "instructions": 144538321, "cycles": 49569333, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "bun", "operation": "stringify", "case_iterations": 12949, "correct": true} +{"wall_ms": 0.28287500000000065, "user_us": 692.0, "system_us": 50.0, "rss_before": 55197696.0, "rss_after": 55853056.0, "checksum": 1785.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57393152, "instructions": 303798727, "cycles": 103498856, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "sparse", "case_iterations": 7868} +{"wall_ms": 0.1303749999999999, "user_us": 124.0, "system_us": 9.0, "rss_before": 13139968.0, "rss_after": 13320192.0, "checksum": 1785.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14712832, "instructions": 68361021, "cycles": 20762371, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "perry", "operation": "sparse", "case_iterations": 7868, "correct": true} +{"wall_ms": 0.12575000000000003, "user_us": 119.0, "system_us": 10.0, "rss_before": 13156352.0, "rss_after": 13336576.0, "checksum": 1785.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14745600, "instructions": 68363947, "cycles": 20850947, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "baseline", "operation": "sparse", "case_iterations": 7868, "correct": true} +{"wall_ms": 0.28595799999999727, "user_us": 694.0, "system_us": 45.0, "rss_before": 55197696.0, "rss_after": 55836672.0, "checksum": 1785.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57409536, "instructions": 306434653, "cycles": 105061428, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "sparse", "case_iterations": 7868, "correct": true} +{"wall_ms": 0.24412500000000037, "user_us": 233.0, "system_us": 15.0, "rss_before": 29933568.0, "rss_after": 30195712.0, "checksum": 1785.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 30720000, "instructions": 147308957, "cycles": 49832124, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "bun", "operation": "sparse", "case_iterations": 7868, "correct": true} +{"wall_ms": 0.3102499999999999, "user_us": 721.0, "system_us": 49.0, "rss_before": 55214080.0, "rss_after": 55918592.0, "checksum": 107100.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57491456, "instructions": 309015874, "cycles": 106810945, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "scan", "case_iterations": 3761} +{"wall_ms": 0.355375, "user_us": 339.0, "system_us": 21.0, "rss_before": 13402112.0, "rss_after": 13746176.0, "checksum": 107100.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 15024128, "instructions": 77154751, "cycles": 22440088, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "perry", "operation": "scan", "case_iterations": 3761, "correct": true} +{"wall_ms": 0.35170800000000035, "user_us": 336.0, "system_us": 19.0, "rss_before": 13418496.0, "rss_after": 13762560.0, "checksum": 107100.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 15056896, "instructions": 77096671, "cycles": 21996621, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "baseline", "operation": "scan", "case_iterations": 3761, "correct": true} +{"wall_ms": 0.3031670000000002, "user_us": 712.0, "system_us": 48.0, "rss_before": 55246848.0, "rss_after": 55934976.0, "checksum": 107100.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57573376, "instructions": 301454383, "cycles": 100416661, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "scan", "case_iterations": 3761, "correct": true} +{"wall_ms": 0.24849999999999994, "user_us": 239.0, "system_us": 14.0, "rss_before": 30294016.0, "rss_after": 30556160.0, "checksum": 107100.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 31080448, "instructions": 149335253, "cycles": 50582951, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "bun", "operation": "scan", "case_iterations": 3761, "correct": true} +{"wall_ms": 0.6133749999999978, "user_us": 1088.0, "system_us": 124.0, "rss_before": 55394304.0, "rss_after": 56803328.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57606144, "instructions": 309295332, "cycles": 106494234, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "roundtrip", "case_iterations": 7659} +{"wall_ms": 0.13087500000000052, "user_us": 122.0, "system_us": 15.0, "rss_before": 12828672.0, "rss_after": 13172736.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14270464, "instructions": 67441652, "cycles": 20135564, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "perry", "operation": "roundtrip", "case_iterations": 7659, "correct": true} +{"wall_ms": 0.13462500000000022, "user_us": 121.0, "system_us": 19.0, "rss_before": 12861440.0, "rss_after": 13205504.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14319616, "instructions": 67440821, "cycles": 20001505, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "baseline", "operation": "roundtrip", "case_iterations": 7659, "correct": true} +{"wall_ms": 0.6207920000000016, "user_us": 1110.0, "system_us": 141.0, "rss_before": 55492608.0, "rss_after": 56934400.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57704448, "instructions": 310524942, "cycles": 107256046, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "node", "operation": "roundtrip", "case_iterations": 7659, "correct": true} +{"wall_ms": 0.4264170000000007, "user_us": 401.0, "system_us": 29.0, "rss_before": 30228480.0, "rss_after": 30687232.0, "checksum": 196155.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 31096832, "instructions": 153362245, "cycles": 51144571, "verify_sha256": "aefbee44eecd0ee0c8c176a082f94ffb473e2e7a59d209b25f6a351c78b44582", "engine": "bun", "operation": "roundtrip", "case_iterations": 7659, "correct": true} +{"wall_ms": 19.322916999999997, "user_us": 20202.0, "system_us": 685.0, "rss_before": 72548352.0, "rss_after": 79003648.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 83296256, "instructions": 1008259499, "cycles": 259431752, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "parse", "case_iterations": 170} +{"wall_ms": 5.908834000000001, "user_us": 5273.0, "system_us": 640.0, "rss_before": 29802496.0, "rss_after": 40845312.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44924928, "instructions": 284976870, "cycles": 66838906, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "parse", "case_iterations": 170, "correct": true} +{"wall_ms": 5.860542000000001, "user_us": 5281.0, "system_us": 589.0, "rss_before": 29835264.0, "rss_after": 40861696.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44957696, "instructions": 284725275, "cycles": 66562607, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "parse", "case_iterations": 170, "correct": true} +{"wall_ms": 18.578083, "user_us": 19597.0, "system_us": 679.0, "rss_before": 72597504.0, "rss_after": 79118336.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 83476480, "instructions": 1002736314, "cycles": 251536094, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "parse", "case_iterations": 170, "correct": true} +{"wall_ms": 17.154165999999996, "user_us": 16437.0, "system_us": 728.0, "rss_before": 45023232.0, "rss_after": 56967168.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 59392000, "instructions": 774532082, "cycles": 171177359, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "parse", "case_iterations": 170, "correct": true} +{"wall_ms": 5.882041999999998, "user_us": 6169.0, "system_us": 268.0, "rss_before": 69861376.0, "rss_after": 72089600.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 73629696, "instructions": 586945420, "cycles": 160314927, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "stringify", "case_iterations": 229} +{"wall_ms": 4.568167000000001, "user_us": 4230.0, "system_us": 346.0, "rss_before": 26214400.0, "rss_after": 32456704.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35307520, "instructions": 292977049, "cycles": 61414641, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 4.493249999999998, "user_us": 4161.0, "system_us": 337.0, "rss_before": 26230784.0, "rss_after": 32473088.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35340288, "instructions": 292762757, "cycles": 60360526, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 5.780249999999995, "user_us": 6157.0, "system_us": 238.0, "rss_before": 69697536.0, "rss_after": 71958528.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 73580544, "instructions": 598243914, "cycles": 170162770, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 6.895416999999998, "user_us": 6532.0, "system_us": 368.0, "rss_before": 42385408.0, "rss_after": 48693248.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 49102848, "instructions": 449076352, "cycles": 104682205, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 18.718083, "user_us": 19837.0, "system_us": 644.0, "rss_before": 72564736.0, "rss_after": 79020032.0, "checksum": 113985.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 83410944, "instructions": 1005182124, "cycles": 254612023, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "sparse", "case_iterations": 161} +{"wall_ms": 6.233874999999999, "user_us": 5644.0, "system_us": 596.0, "rss_before": 30261248.0, "rss_after": 41222144.0, "checksum": 113985.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 48218112, "instructions": 337937463, "cycles": 77176972, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "sparse", "case_iterations": 161, "correct": true} +{"wall_ms": 6.224708, "user_us": 5639.0, "system_us": 590.0, "rss_before": 30277632.0, "rss_after": 41238528.0, "checksum": 113985.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 48250880, "instructions": 337864065, "cycles": 76731614, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "sparse", "case_iterations": 161, "correct": true} +{"wall_ms": 18.426874999999995, "user_us": 19453.0, "system_us": 609.0, "rss_before": 72695808.0, "rss_after": 79233024.0, "checksum": 113985.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 83607552, "instructions": 1008477552, "cycles": 255310591, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "sparse", "case_iterations": 161, "correct": true} +{"wall_ms": 14.768542000000004, "user_us": 14096.0, "system_us": 682.0, "rss_before": 45023232.0, "rss_after": 56967168.0, "checksum": 113985.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 59392000, "instructions": 773947219, "cycles": 155000995, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "sparse", "case_iterations": 161, "correct": true} +{"wall_ms": 18.952333000000003, "user_us": 20154.0, "system_us": 606.0, "rss_before": 77201408.0, "rss_after": 83705856.0, "checksum": 433143000.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 88064000, "instructions": 1026358585, "cycles": 264398370, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "scan", "case_iterations": 69} +{"wall_ms": 31.236082999999997, "user_us": 29861.0, "system_us": 1385.0, "rss_before": 33144832.0, "rss_after": 54460416.0, "checksum": 433143000.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 58736640, "instructions": 1058240220, "cycles": 194858265, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "scan", "case_iterations": 69, "correct": true} +{"wall_ms": 30.9465, "user_us": 29562.0, "system_us": 1391.0, "rss_before": 33161216.0, "rss_after": 54476800.0, "checksum": 433143000.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 58769408, "instructions": 1058355319, "cycles": 193812180, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "scan", "case_iterations": 69, "correct": true} +{"wall_ms": 20.403792000000003, "user_us": 21210.0, "system_us": 851.0, "rss_before": 77283328.0, "rss_after": 83787776.0, "checksum": 433143000.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 88096768, "instructions": 1024530746, "cycles": 271098126, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "scan", "case_iterations": 69, "correct": true} +{"wall_ms": 14.877624999999998, "user_us": 14183.0, "system_us": 703.0, "rss_before": 47988736.0, "rss_after": 59916288.0, "checksum": 433143000.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 62341120, "instructions": 789038744, "cycles": 159253232, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "scan", "case_iterations": 69, "correct": true} +{"wall_ms": 25.543166999999997, "user_us": 26139.0, "system_us": 617.0, "rss_before": 81133568.0, "rss_after": 87277568.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 88883200, "instructions": 1203268736, "cycles": 305662200, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "roundtrip", "case_iterations": 115} +{"wall_ms": 12.267083, "user_us": 10618.0, "system_us": 1654.0, "rss_before": 36880384.0, "rss_after": 53657600.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 55033856, "instructions": 407003262, "cycles": 96215666, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "roundtrip", "case_iterations": 115, "correct": true} +{"wall_ms": 12.122708000000001, "user_us": 10612.0, "system_us": 1516.0, "rss_before": 36880384.0, "rss_after": 53673984.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 55066624, "instructions": 406644588, "cycles": 95178370, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "roundtrip", "case_iterations": 115, "correct": true} +{"wall_ms": 24.509791000000007, "user_us": 25319.0, "system_us": 583.0, "rss_before": 81149952.0, "rss_after": 87212032.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 88801280, "instructions": 1203479472, "cycles": 295954075, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "roundtrip", "case_iterations": 115, "correct": true} +{"wall_ms": 22.405625, "user_us": 22146.0, "system_us": 1291.0, "rss_before": 53297152.0, "rss_after": 71778304.0, "checksum": 13214955.0, "retained": 0.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 72187904, "instructions": 1038405422, "cycles": 204199265, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "roundtrip", "case_iterations": 115, "correct": true} +{"wall_ms": 19.563000000000002, "user_us": 20604.0, "system_us": 588.0, "rss_before": 72744960.0, "rss_after": 79233024.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 83542016, "instructions": 1002212481, "cycles": 258403416, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "parse", "case_iterations": 81} +{"wall_ms": 21.506207999999997, "user_us": 20858.0, "system_us": 657.0, "rss_before": 27344896.0, "rss_after": 37060608.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 41435136, "instructions": 768793559, "cycles": 144321179, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "parse", "case_iterations": 81, "correct": true} +{"wall_ms": 21.544790999999996, "user_us": 20896.0, "system_us": 657.0, "rss_before": 27344896.0, "rss_after": 37027840.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 41418752, "instructions": 768905739, "cycles": 144309731, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "parse", "case_iterations": 81, "correct": true} +{"wall_ms": 20.421541000000005, "user_us": 21474.0, "system_us": 728.0, "rss_before": 72630272.0, "rss_after": 79085568.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 83410944, "instructions": 1007697520, "cycles": 265825953, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "parse", "case_iterations": 81, "correct": true} +{"wall_ms": 14.879125000000002, "user_us": 14120.0, "system_us": 769.0, "rss_before": 45023232.0, "rss_after": 56967168.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 59392000, "instructions": 774313857, "cycles": 155717762, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "parse", "case_iterations": 81, "correct": true} +{"wall_ms": 5.811083, "user_us": 6213.0, "system_us": 243.0, "rss_before": 69877760.0, "rss_after": 72204288.0, "checksum": 13215135.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 73760768, "instructions": 582908643, "cycles": 157188707, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "stringify", "case_iterations": 229} +{"wall_ms": 4.482165999999999, "user_us": 4153.0, "system_us": 335.0, "rss_before": 26214400.0, "rss_after": 32456704.0, "checksum": 13215135.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35307520, "instructions": 292817574, "cycles": 60257198, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 4.559000000000001, "user_us": 4212.0, "system_us": 352.0, "rss_before": 26247168.0, "rss_after": 32489472.0, "checksum": 13215135.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35356672, "instructions": 292942311, "cycles": 60848336, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 5.801541000000004, "user_us": 6127.0, "system_us": 266.0, "rss_before": 69844992.0, "rss_after": 72105984.0, "checksum": 13215135.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 73678848, "instructions": 585876847, "cycles": 159565170, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 6.882166999999999, "user_us": 6538.0, "system_us": 354.0, "rss_before": 42385408.0, "rss_after": 48693248.0, "checksum": 13215135.0, "retained": 0.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 49102848, "instructions": 448933982, "cycles": 104387353, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "stringify", "case_iterations": 229, "correct": true} +{"wall_ms": 160.726833, "user_us": 268783.0, "system_us": 8628.0, "rss_before": 213467136.0, "rss_after": 276348928.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 304693248, "instructions": 7398245517, "cycles": 1707539938, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "parse", "case_iterations": 16} +{"wall_ms": 56.97449999999999, "user_us": 49360.0, "system_us": 7622.0, "rss_before": 101416960.0, "rss_after": 113508352.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 123420672, "instructions": 1871712013, "cycles": 463222766, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "parse", "case_iterations": 16, "correct": true} +{"wall_ms": 56.61479200000002, "user_us": 49227.0, "system_us": 7397.0, "rss_before": 101433344.0, "rss_after": 113524736.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 123453440, "instructions": 1872170345, "cycles": 461063453, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "parse", "case_iterations": 16, "correct": true} +{"wall_ms": 169.436291, "user_us": 274256.0, "system_us": 8567.0, "rss_before": 213499904.0, "rss_after": 276283392.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 304627712, "instructions": 7399368120, "cycles": 1755145337, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "parse", "case_iterations": 16, "correct": true} +{"wall_ms": 123.64262500000001, "user_us": 140961.0, "system_us": 3057.0, "rss_before": 111935488.0, "rss_after": 147636224.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 161480704, "instructions": 5881779105, "cycles": 1074272600, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "parse", "case_iterations": 16, "correct": true} +{"wall_ms": 45.717584, "user_us": 45403.0, "system_us": 1096.0, "rss_before": 164626432.0, "rss_after": 179224576.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 187006976, "instructions": 2571409371, "cycles": 548508814, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "stringify", "case_iterations": 29} +{"wall_ms": 32.754833000000005, "user_us": 32287.0, "system_us": 475.0, "rss_before": 119455744.0, "rss_after": 126517248.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 134725632, "instructions": 2687418703, "cycles": 472672628, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 32.734542000000005, "user_us": 32277.0, "system_us": 469.0, "rss_before": 119472128.0, "rss_after": 126533632.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 134758400, "instructions": 2686914158, "cycles": 472239714, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 46.028290999999996, "user_us": 45704.0, "system_us": 1213.0, "rss_before": 164577280.0, "rss_after": 179273728.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 187056128, "instructions": 2574909010, "cycles": 556656012, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 54.06700000000001, "user_us": 56180.0, "system_us": 1911.0, "rss_before": 127795200.0, "rss_after": 156139520.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 156549120, "instructions": 2718436518, "cycles": 523750393, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 170.84454200000002, "user_us": 273492.0, "system_us": 8543.0, "rss_before": 213172224.0, "rss_after": 276234240.0, "checksum": 884985.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 304611328, "instructions": 7408460856, "cycles": 1749950156, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "sparse", "case_iterations": 15} +{"wall_ms": 60.04112500000001, "user_us": 52730.0, "system_us": 7319.0, "rss_before": 101859328.0, "rss_after": 113967104.0, "checksum": 884985.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 151404544, "instructions": 2272684284, "cycles": 543580970, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "sparse", "case_iterations": 15, "correct": true} +{"wall_ms": 60.073707999999996, "user_us": 52828.0, "system_us": 7254.0, "rss_before": 101859328.0, "rss_after": 113983488.0, "checksum": 884985.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 151437312, "instructions": 2272711743, "cycles": 544704934, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "sparse", "case_iterations": 15, "correct": true} +{"wall_ms": 152.671709, "user_us": 259313.0, "system_us": 7909.0, "rss_before": 213680128.0, "rss_after": 276381696.0, "checksum": 884985.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 304709632, "instructions": 7376387533, "cycles": 1642181775, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "sparse", "case_iterations": 15, "correct": true} +{"wall_ms": 124.65275, "user_us": 149019.0, "system_us": 3087.0, "rss_before": 126156800.0, "rss_after": 166739968.0, "checksum": 884985.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 180600832, "instructions": 5990209938, "cycles": 1098262598, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "sparse", "case_iterations": 15, "correct": true} +{"wall_ms": 155.444667, "user_us": 232518.0, "system_us": 6382.0, "rss_before": 218480640.0, "rss_after": 259407872.0, "checksum": 26107057500.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 287703040, "instructions": 7255835815, "cycles": 1597310994, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "scan", "case_iterations": 8} +{"wall_ms": 166.405875, "user_us": 157871.0, "system_us": 8542.0, "rss_before": 161824768.0, "rss_after": 280330240.0, "checksum": 26107057500.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 302645248, "instructions": 6568019410, "cycles": 1229272037, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "scan", "case_iterations": 8, "correct": true} +{"wall_ms": 166.32304100000002, "user_us": 157941.0, "system_us": 8390.0, "rss_before": 161841152.0, "rss_after": 280346624.0, "checksum": 26107057500.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 302678016, "instructions": 6566307648, "cycles": 1228951043, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "scan", "case_iterations": 8, "correct": true} +{"wall_ms": 165.69491699999998, "user_us": 247381.0, "system_us": 6337.0, "rss_before": 218611712.0, "rss_after": 259112960.0, "checksum": 26107057500.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 287391744, "instructions": 7262771722, "cycles": 1694594229, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "scan", "case_iterations": 8, "correct": true} +{"wall_ms": 125.98708299999998, "user_us": 150745.0, "system_us": 1193.0, "rss_before": 128139264.0, "rss_after": 129646592.0, "checksum": 26107057500.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 144359424, "instructions": 5987464570, "cycles": 1099367805, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "scan", "case_iterations": 8, "correct": true} +{"wall_ms": 192.49608400000002, "user_us": 245188.0, "system_us": 6343.0, "rss_before": 269877248.0, "rss_after": 285655040.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 308281344, "instructions": 8324783361, "cycles": 1782475337, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "roundtrip", "case_iterations": 11} +{"wall_ms": 87.27704200000001, "user_us": 77915.0, "system_us": 9347.0, "rss_before": 166658048.0, "rss_after": 166690816.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 167198720, "instructions": 2704823729, "cycles": 668171801, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "roundtrip", "case_iterations": 11, "correct": true} +{"wall_ms": 83.36100000000002, "user_us": 74931.0, "system_us": 8437.0, "rss_before": 166592512.0, "rss_after": 166625280.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 167133184, "instructions": 2703367771, "cycles": 658913976, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "roundtrip", "case_iterations": 11, "correct": true} +{"wall_ms": 201.28766599999997, "user_us": 251834.0, "system_us": 6612.0, "rss_before": 269713408.0, "rss_after": 285523968.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 308084736, "instructions": 8328316197, "cycles": 1836184022, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "roundtrip", "case_iterations": 11, "correct": true} +{"wall_ms": 177.54249999999996, "user_us": 193927.0, "system_us": 1952.0, "rss_before": 150847488.0, "rss_after": 168312832.0, "checksum": 105883950.0, "retained": 0.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 168706048, "instructions": 7650906271, "cycles": 1399163817, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "roundtrip", "case_iterations": 11, "correct": true} +{"wall_ms": 158.71883300000002, "user_us": 265768.0, "system_us": 8568.0, "rss_before": 213696512.0, "rss_after": 276512768.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 304873472, "instructions": 7402411262, "cycles": 1689432067, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "parse", "case_iterations": 10} +{"wall_ms": 110.186542, "user_us": 105086.0, "system_us": 5109.0, "rss_before": 138412032.0, "rss_after": 234323968.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271646720, "instructions": 5065776172, "cycles": 913451740, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "parse", "case_iterations": 10, "correct": true} +{"wall_ms": 110.23929199999998, "user_us": 105274.0, "system_us": 4973.0, "rss_before": 138428416.0, "rss_after": 234340352.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271679488, "instructions": 5065370363, "cycles": 909762490, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "parse", "case_iterations": 10, "correct": true} +{"wall_ms": 167.11820899999998, "user_us": 273834.0, "system_us": 7999.0, "rss_before": 213647360.0, "rss_after": 276594688.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 304873472, "instructions": 7394218888, "cycles": 1745696689, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "parse", "case_iterations": 10, "correct": true} +{"wall_ms": 123.89754099999999, "user_us": 131195.0, "system_us": 4275.0, "rss_before": 111624192.0, "rss_after": 176865280.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 192299008, "instructions": 5808308993, "cycles": 1061245687, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "parse", "case_iterations": 10, "correct": true} +{"wall_ms": 45.70524999999999, "user_us": 45406.0, "system_us": 1078.0, "rss_before": 164724736.0, "rss_after": 179306496.0, "checksum": 105884130.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 187039744, "instructions": 2581380896, "cycles": 561493365, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "stringify", "case_iterations": 29} +{"wall_ms": 33.166874999999976, "user_us": 32678.0, "system_us": 495.0, "rss_before": 119504896.0, "rss_after": 126566400.0, "checksum": 105884130.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 134774784, "instructions": 2685554318, "cycles": 474291836, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 33.422540999999995, "user_us": 32717.0, "system_us": 712.0, "rss_before": 119488512.0, "rss_after": 126550016.0, "checksum": 105884130.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 134774784, "instructions": 2685828711, "cycles": 475706438, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 45.98445899999999, "user_us": 45629.0, "system_us": 1184.0, "rss_before": 164560896.0, "rss_after": 179208192.0, "checksum": 105884130.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 186875904, "instructions": 2578112324, "cycles": 561848359, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 54.04975, "user_us": 56390.0, "system_us": 1959.0, "rss_before": 127483904.0, "rss_after": 155828224.0, "checksum": 105884130.0, "retained": 0.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 156237824, "instructions": 2716970872, "cycles": 524460035, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "stringify", "case_iterations": 29, "correct": true} +{"wall_ms": 420.44087500000006, "user_us": 559752.0, "system_us": 32024.0, "rss_before": 383975424.0, "rss_after": 593346560.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 669876224, "instructions": 18655566436, "cycles": 4331474398, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "parse", "case_iterations": 4} +{"wall_ms": 450.0625, "user_us": 412833.0, "system_us": 37241.0, "rss_before": 334577664.0, "rss_after": 678117376.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759889920, "instructions": 15200776908, "cycles": 2849450879, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "perry", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 437.998667, "user_us": 411346.0, "system_us": 26638.0, "rss_before": 334594048.0, "rss_after": 678133760.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759922688, "instructions": 15177834656, "cycles": 2800452101, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "baseline", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 411.92591699999997, "user_us": 552204.0, "system_us": 28378.0, "rss_before": 384319488.0, "rss_after": 593412096.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 669827072, "instructions": 18629740723, "cycles": 4263691818, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 306.63791599999996, "user_us": 386002.0, "system_us": 5024.0, "rss_before": 241565696.0, "rss_after": 272334848.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 321912832, "instructions": 14702547540, "cycles": 2675106693, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "bun", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 120.96824999999998, "user_us": 113952.0, "system_us": 7881.0, "rss_before": 374964224.0, "rss_after": 498876416.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 536805376, "instructions": 6331707880, "cycles": 1387950503, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "stringify", "case_iterations": 12} +{"wall_ms": 81.51354200000006, "user_us": 81235.0, "system_us": 285.0, "rss_before": 246071296.0, "rss_after": 246153216.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 246988800, "instructions": 6438344318, "cycles": 1125144895, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "perry", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 81.782667, "user_us": 81621.0, "system_us": 168.0, "rss_before": 246087680.0, "rss_after": 246169600.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 247021568, "instructions": 6437412599, "cycles": 1129480317, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "baseline", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 120.08195800000001, "user_us": 113195.0, "system_us": 7787.0, "rss_before": 374882304.0, "rss_after": 498794496.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 536821760, "instructions": 6327897962, "cycles": 1370503029, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 133.512, "user_us": 129799.0, "system_us": 4304.0, "rss_before": 283836416.0, "rss_after": 336789504.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 337199104, "instructions": 6521365247, "cycles": 1234316615, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "bun", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 395.85566700000004, "user_us": 539699.0, "system_us": 26486.0, "rss_before": 383909888.0, "rss_after": 593313792.0, "checksum": 2174985.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 669696000, "instructions": 18630031026, "cycles": 4141016834, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "sparse", "case_iterations": 4} +{"wall_ms": 438.322208, "user_us": 411701.0, "system_us": 26627.0, "rss_before": 334659584.0, "rss_after": 678117376.0, "checksum": 2174985.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759889920, "instructions": 15177256520, "cycles": 2797586941, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "perry", "operation": "sparse", "case_iterations": 4, "correct": true} +{"wall_ms": 438.691291, "user_us": 411710.0, "system_us": 26978.0, "rss_before": 334675968.0, "rss_after": 678133760.0, "checksum": 2174985.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759922688, "instructions": 15185454570, "cycles": 2797256863, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "baseline", "operation": "sparse", "case_iterations": 4, "correct": true} +{"wall_ms": 389.628917, "user_us": 531755.0, "system_us": 26120.0, "rss_before": 383860736.0, "rss_after": 593215488.0, "checksum": 2174985.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 669646848, "instructions": 18633732922, "cycles": 4118008954, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "sparse", "case_iterations": 4, "correct": true} +{"wall_ms": 300.14612500000004, "user_us": 358596.0, "system_us": 5051.0, "rss_before": 334905344.0, "rss_after": 371441664.0, "checksum": 2174985.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 421036032, "instructions": 14751296433, "cycles": 2691008291, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "bun", "operation": "sparse", "case_iterations": 4, "correct": true} +{"wall_ms": 409.96675, "user_us": 600443.0, "system_us": 28153.0, "rss_before": 348274688.0, "rss_after": 545832960.0, "checksum": 157686412500.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 615792640, "instructions": 19153601417, "cycles": 4329718867, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "scan", "case_iterations": 4} +{"wall_ms": 441.0587079999999, "user_us": 416976.0, "system_us": 24077.0, "rss_before": 334675968.0, "rss_after": 678133760.0, "checksum": 157686412500.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759906304, "instructions": 15463288044, "cycles": 2835219552, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "perry", "operation": "scan", "case_iterations": 4, "correct": true} +{"wall_ms": 441.01141599999994, "user_us": 416102.0, "system_us": 24909.0, "rss_before": 334692352.0, "rss_after": 678150144.0, "checksum": 157686412500.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 759939072, "instructions": 15470391952, "cycles": 2841023013, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "baseline", "operation": "scan", "case_iterations": 4, "correct": true} +{"wall_ms": 394.946458, "user_us": 574703.0, "system_us": 27069.0, "rss_before": 348143616.0, "rss_after": 545865728.0, "checksum": 157686412500.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 616038400, "instructions": 19071878075, "cycles": 4180440070, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "scan", "case_iterations": 4, "correct": true} +{"wall_ms": 309.98854200000005, "user_us": 392791.0, "system_us": 4995.0, "rss_before": 247840768.0, "rss_after": 279707648.0, "checksum": 157686412500.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 329400320, "instructions": 14843172795, "cycles": 2721884853, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "bun", "operation": "scan", "case_iterations": 4, "correct": true} +{"wall_ms": 512.216, "user_us": 652804.0, "system_us": 39456.0, "rss_before": 465780736.0, "rss_after": 608206848.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 794935296, "instructions": 22019060044, "cycles": 4739179063, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "roundtrip", "case_iterations": 2} +{"wall_ms": 746.3727920000001, "user_us": 721225.0, "system_us": 25144.0, "rss_before": 505643008.0, "rss_after": 803340288.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 804110336, "instructions": 29708665630, "cycles": 5083797589, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "perry", "operation": "roundtrip", "case_iterations": 2, "correct": true} +{"wall_ms": 748.5745829999998, "user_us": 722234.0, "system_us": 26344.0, "rss_before": 506068992.0, "rss_after": 803602432.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 804388864, "instructions": 29730142598, "cycles": 5095586492, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "baseline", "operation": "roundtrip", "case_iterations": 2, "correct": true} +{"wall_ms": 532.28325, "user_us": 664638.0, "system_us": 40436.0, "rss_before": 466206720.0, "rss_after": 608600064.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 795344896, "instructions": 22043708772, "cycles": 4858687464, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "node", "operation": "roundtrip", "case_iterations": 2, "correct": true} +{"wall_ms": 435.04033300000003, "user_us": 486895.0, "system_us": 11382.0, "rss_before": 335069184.0, "rss_after": 453296128.0, "checksum": 264313950.0, "retained": 0.0, "fixture": "records_array_20m", "iterations": 7, "warmup": 8, "peak_rss": 453689344, "instructions": 19002814235, "cycles": 3454876895, "verify_sha256": "65bd71376691136ef6b858aaadee4896bd296bf93722ab456afe1e68fba893c6", "engine": "bun", "operation": "roundtrip", "case_iterations": 2, "correct": true} +{"wall_ms": 407.654625, "user_us": 548206.0, "system_us": 26891.0, "rss_before": 382435328.0, "rss_after": 592461824.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 668975104, "instructions": 18591526505, "cycles": 4221493214, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "node", "operation": "parse", "case_iterations": 4} +{"wall_ms": 440.317625, "user_us": 412397.0, "system_us": 27919.0, "rss_before": 334577664.0, "rss_after": 678117376.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 759906304, "instructions": 15176818549, "cycles": 2802340299, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "perry", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 438.8328750000001, "user_us": 411988.0, "system_us": 26852.0, "rss_before": 334594048.0, "rss_after": 678133760.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 759939072, "instructions": 15175865405, "cycles": 2800413681, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "baseline", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 415.629375, "user_us": 558533.0, "system_us": 26034.0, "rss_before": 384548864.0, "rss_after": 593395712.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 669843456, "instructions": 18618114215, "cycles": 4286431635, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "node", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 340.793458, "user_us": 401513.0, "system_us": 7300.0, "rss_before": 240123904.0, "rss_after": 299352064.0, "checksum": 15.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 350109696, "instructions": 14752188445, "cycles": 2953216035, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "bun", "operation": "parse", "case_iterations": 4, "correct": true} +{"wall_ms": 119.81470900000002, "user_us": 113119.0, "system_us": 7521.0, "rss_before": 374931456.0, "rss_after": 498843648.0, "checksum": 264314130.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 536739840, "instructions": 6328691617, "cycles": 1381836917, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "node", "operation": "stringify", "case_iterations": 12} +{"wall_ms": 80.97720899999999, "user_us": 80694.0, "system_us": 289.0, "rss_before": 246104064.0, "rss_after": 246185984.0, "checksum": 264314130.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 247021568, "instructions": 6436230206, "cycles": 1119947647, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "perry", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 80.837875, "user_us": 80535.0, "system_us": 311.0, "rss_before": 246104064.0, "rss_after": 246185984.0, "checksum": 264314130.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 247037952, "instructions": 6436442952, "cycles": 1122128968, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "baseline", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 120.54345799999999, "user_us": 113706.0, "system_us": 7643.0, "rss_before": 374931456.0, "rss_after": 498860032.0, "checksum": 264314130.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 536723456, "instructions": 6329257700, "cycles": 1375037519, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "node", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 134.64, "user_us": 131826.0, "system_us": 4316.0, "rss_before": 283770880.0, "rss_after": 337575936.0, "checksum": 264314130.0, "retained": 0.0, "fixture": "records_object_20m", "iterations": 7, "warmup": 8, "peak_rss": 337969152, "instructions": 6520712853, "cycles": 1234455382, "verify_sha256": "502c690f381d8ba04873ead66b434444c21b4c4b0cf5aa5a24a4813976184983", "engine": "bun", "operation": "stringify", "case_iterations": 12, "correct": true} +{"wall_ms": 21.515875, "user_us": 21817.0, "system_us": 258.0, "rss_before": 68108288.0, "rss_after": 70664192.0, "checksum": 15.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 74661888, "instructions": 1164777710, "cycles": 264337906, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "node", "operation": "parse", "case_iterations": 102} +{"wall_ms": 13.086625000000002, "user_us": 11695.0, "system_us": 1400.0, "rss_before": 35930112.0, "rss_after": 52396032.0, "checksum": 15.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 53182464, "instructions": 468480139, "cycles": 116669720, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "perry", "operation": "parse", "case_iterations": 102, "correct": true} +{"wall_ms": 13.320750000000002, "user_us": 11922.0, "system_us": 1407.0, "rss_before": 35946496.0, "rss_after": 52412416.0, "checksum": 15.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 53215232, "instructions": 468424965, "cycles": 118396570, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "baseline", "operation": "parse", "case_iterations": 102, "correct": true} +{"wall_ms": 21.68925, "user_us": 22002.0, "system_us": 260.0, "rss_before": 68042752.0, "rss_after": 70582272.0, "checksum": 15.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 74612736, "instructions": 1166402575, "cycles": 265731799, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "node", "operation": "parse", "case_iterations": 102, "correct": true} +{"wall_ms": 22.558417, "user_us": 22095.0, "system_us": 468.0, "rss_before": 41353216.0, "rss_after": 48840704.0, "checksum": 15.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 50380800, "instructions": 1179876346, "cycles": 212356366, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "bun", "operation": "parse", "case_iterations": 102, "correct": true} +{"wall_ms": 13.648333000000001, "user_us": 13958.0, "system_us": 281.0, "rss_before": 69451776.0, "rss_after": 72105984.0, "checksum": 15541815.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 73875456, "instructions": 924079793, "cycles": 209436623, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "node", "operation": "stringify", "case_iterations": 147} +{"wall_ms": 7.092291999999999, "user_us": 6721.0, "system_us": 376.0, "rss_before": 28884992.0, "rss_after": 35209216.0, "checksum": 15541815.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 39419904, "instructions": 464301793, "cycles": 79849907, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "perry", "operation": "stringify", "case_iterations": 147, "correct": true} +{"wall_ms": 7.098041999999998, "user_us": 6720.0, "system_us": 386.0, "rss_before": 28917760.0, "rss_after": 35241984.0, "checksum": 15541815.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 39469056, "instructions": 464358356, "cycles": 79727790, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "baseline", "operation": "stringify", "case_iterations": 147, "correct": true} +{"wall_ms": 13.560750000000006, "user_us": 13865.0, "system_us": 247.0, "rss_before": 69402624.0, "rss_after": 71974912.0, "checksum": 15541815.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 73711616, "instructions": 925430567, "cycles": 209766626, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "node", "operation": "stringify", "case_iterations": 147, "correct": true} +{"wall_ms": 20.765500000000003, "user_us": 20308.0, "system_us": 468.0, "rss_before": 43597824.0, "rss_after": 51052544.0, "checksum": 15541815.0, "retained": 0.0, "fixture": "numbers_1m", "iterations": 7, "warmup": 8, "peak_rss": 51462144, "instructions": 1042538787, "cycles": 202343919, "verify_sha256": "a76bd61f5d2c229e4e2d6e53489edf0996845f10f54c80c09b15539df5942ca6", "engine": "bun", "operation": "stringify", "case_iterations": 147, "correct": true} +{"wall_ms": 2.909542000000002, "user_us": 3158.0, "system_us": 274.0, "rss_before": 65208320.0, "rss_after": 68911104.0, "checksum": 15.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 72187904, "instructions": 417538770, "cycles": 133845842, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "parse", "case_iterations": 2806} +{"wall_ms": 0.0032089999999995733, "user_us": 6.0, "system_us": 2.0, "rss_before": 15941632.0, "rss_after": 16039936.0, "checksum": 15.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21757952, "instructions": 78379534, "cycles": 24218379, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "parse", "case_iterations": 2806, "correct": true} +{"wall_ms": 0.003083000000000169, "user_us": 6.0, "system_us": 1.0, "rss_before": 15941632.0, "rss_after": 16039936.0, "checksum": 15.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21774336, "instructions": 78381863, "cycles": 24137033, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "parse", "case_iterations": 2806, "correct": true} +{"wall_ms": 2.9165829999999993, "user_us": 3134.0, "system_us": 293.0, "rss_before": 65273856.0, "rss_after": 68911104.0, "checksum": 15.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 72187904, "instructions": 408013050, "cycles": 125046690, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "parse", "case_iterations": 2806, "correct": true} +{"wall_ms": 0.8179999999999996, "user_us": 414.0, "system_us": 408.0, "rss_before": 39419904.0, "rss_after": 46809088.0, "checksum": 15.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 48316416, "instructions": 161244867, "cycles": 54789472, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "parse", "case_iterations": 2806, "correct": true} +{"wall_ms": 0.9738340000000001, "user_us": 1304.0, "system_us": 250.0, "rss_before": 67452928.0, "rss_after": 70090752.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73269248, "instructions": 336598167, "cycles": 112919073, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "stringify", "case_iterations": 1922} +{"wall_ms": 0.5857090000000005, "user_us": 154.0, "system_us": 439.0, "rss_before": 26001408.0, "rss_after": 33488896.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37830656, "instructions": 88235670, "cycles": 28833893, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "stringify", "case_iterations": 1922, "correct": true} +{"wall_ms": 0.6384159999999994, "user_us": 157.0, "system_us": 485.0, "rss_before": 26017792.0, "rss_after": 33505280.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37863424, "instructions": 88182279, "cycles": 29243415, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "stringify", "case_iterations": 1922, "correct": true} +{"wall_ms": 0.9545829999999995, "user_us": 1260.0, "system_us": 233.0, "rss_before": 67469312.0, "rss_after": 70074368.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73236480, "instructions": 337326314, "cycles": 112790578, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "stringify", "case_iterations": 1922, "correct": true} +{"wall_ms": 0.9930419999999991, "user_us": 616.0, "system_us": 380.0, "rss_before": 41549824.0, "rss_after": 48922624.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 49348608, "instructions": 158121864, "cycles": 56237595, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "stringify", "case_iterations": 1922, "correct": true} +{"wall_ms": 12.173583, "user_us": 12439.0, "system_us": 221.0, "rss_before": 62898176.0, "rss_after": 65683456.0, "checksum": 15.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 70582272, "instructions": 677259486, "cycles": 196914383, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "node", "operation": "parse", "case_iterations": 158} +{"wall_ms": 6.5924169999999975, "user_us": 6283.0, "system_us": 315.0, "rss_before": 23625728.0, "rss_after": 29442048.0, "checksum": 15.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 33865728, "instructions": 319761732, "cycles": 71965115, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "perry", "operation": "parse", "case_iterations": 158, "correct": true} +{"wall_ms": 6.586333999999999, "user_us": 6276.0, "system_us": 315.0, "rss_before": 23642112.0, "rss_after": 29458432.0, "checksum": 15.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 33914880, "instructions": 319667741, "cycles": 71866748, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "baseline", "operation": "parse", "case_iterations": 158, "correct": true} +{"wall_ms": 12.183208, "user_us": 12385.0, "system_us": 235.0, "rss_before": 62963712.0, "rss_after": 65667072.0, "checksum": 15.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 70582272, "instructions": 682072143, "cycles": 201143057, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "node", "operation": "parse", "case_iterations": 158, "correct": true} +{"wall_ms": 14.68075, "user_us": 14345.0, "system_us": 340.0, "rss_before": 39075840.0, "rss_after": 44548096.0, "checksum": 15.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 46006272, "instructions": 635304476, "cycles": 157279675, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "bun", "operation": "parse", "case_iterations": 158, "correct": true} +{"wall_ms": 13.106249999999996, "user_us": 13453.0, "system_us": 254.0, "rss_before": 66830336.0, "rss_after": 69304320.0, "checksum": 14850270.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 71057408, "instructions": 720268779, "cycles": 202518524, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "node", "operation": "stringify", "case_iterations": 166} +{"wall_ms": 6.270166999999997, "user_us": 5872.0, "system_us": 403.0, "rss_before": 25624576.0, "rss_after": 32653312.0, "checksum": 14850270.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 36765696, "instructions": 285431449, "cycles": 70538491, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "perry", "operation": "stringify", "case_iterations": 166, "correct": true} +{"wall_ms": 6.254750000000001, "user_us": 5878.0, "system_us": 385.0, "rss_before": 25657344.0, "rss_after": 32686080.0, "checksum": 14850270.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 36814848, "instructions": 285463144, "cycles": 70376620, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "baseline", "operation": "stringify", "case_iterations": 166, "correct": true} +{"wall_ms": 12.973541999999995, "user_us": 13314.0, "system_us": 265.0, "rss_before": 66912256.0, "rss_after": 69353472.0, "checksum": 14850270.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 71122944, "instructions": 716309281, "cycles": 197781409, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "node", "operation": "stringify", "case_iterations": 166, "correct": true} +{"wall_ms": 14.737709000000002, "user_us": 14311.0, "system_us": 433.0, "rss_before": 42762240.0, "rss_after": 49823744.0, "checksum": 14850270.0, "retained": 0.0, "fixture": "escaped_1m", "iterations": 7, "warmup": 8, "peak_rss": 50249728, "instructions": 397647929, "cycles": 158039035, "verify_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "engine": "bun", "operation": "stringify", "case_iterations": 166, "correct": true} +{"wall_ms": 3.2725410000000004, "user_us": 3661.0, "system_us": 172.0, "rss_before": 65110016.0, "rss_after": 66584576.0, "checksum": 15.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 69615616, "instructions": 408484048, "cycles": 138825195, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "parse", "case_iterations": 2786} +{"wall_ms": 0.003041999999999767, "user_us": 6.0, "system_us": 2.0, "rss_before": 15237120.0, "rss_after": 15335424.0, "checksum": 15.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20185088, "instructions": 90015996, "cycles": 26307534, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "parse", "case_iterations": 2786, "correct": true} +{"wall_ms": 0.0032500000000004192, "user_us": 5.0, "system_us": 8.0, "rss_before": 15253504.0, "rss_after": 15351808.0, "checksum": 15.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20217856, "instructions": 90054459, "cycles": 26504711, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "parse", "case_iterations": 2786, "correct": true} +{"wall_ms": 3.2097499999999997, "user_us": 3607.0, "system_us": 156.0, "rss_before": 65191936.0, "rss_after": 66682880.0, "checksum": 15.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 69697536, "instructions": 405952511, "cycles": 135544958, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "parse", "case_iterations": 2786, "correct": true} +{"wall_ms": 0.7133339999999997, "user_us": 372.0, "system_us": 345.0, "rss_before": 39370752.0, "rss_after": 45957120.0, "checksum": 15.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 48431104, "instructions": 206423526, "cycles": 65823985, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "parse", "case_iterations": 2786, "correct": true} +{"wall_ms": 3.0199169999999995, "user_us": 3450.0, "system_us": 179.0, "rss_before": 67272704.0, "rss_after": 68714496.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70615040, "instructions": 464580544, "cycles": 132734139, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "stringify", "case_iterations": 2475} +{"wall_ms": 0.4463329999999992, "user_us": 131.0, "system_us": 323.0, "rss_before": 23527424.0, "rss_after": 29753344.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33521664, "instructions": 98263366, "cycles": 29984169, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "stringify", "case_iterations": 2475, "correct": true} +{"wall_ms": 0.45970900000000015, "user_us": 131.0, "system_us": 337.0, "rss_before": 23543808.0, "rss_after": 29769728.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33554432, "instructions": 98154219, "cycles": 29903158, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "stringify", "case_iterations": 2475, "correct": true} +{"wall_ms": 3.022666000000001, "user_us": 3450.0, "system_us": 147.0, "rss_before": 67338240.0, "rss_after": 68763648.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70615040, "instructions": 464680575, "cycles": 132611885, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "stringify", "case_iterations": 2475, "correct": true} +{"wall_ms": 3.4603339999999996, "user_us": 3074.0, "system_us": 389.0, "rss_before": 42270720.0, "rss_after": 48873472.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49381376, "instructions": 291787630, "cycles": 83673092, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "stringify", "case_iterations": 2475, "correct": true} +{"wall_ms": 34.794791000000004, "user_us": 34362.0, "system_us": 1192.0, "rss_before": 85803008.0, "rss_after": 102121472.0, "checksum": 15.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 104972288, "instructions": 1425298752, "cycles": 395021012, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "parse", "case_iterations": 64} +{"wall_ms": 16.434583999999994, "user_us": 15313.0, "system_us": 1128.0, "rss_before": 58163200.0, "rss_after": 77873152.0, "checksum": 15.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94912512, "instructions": 1213430957, "cycles": 252410620, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "parse", "case_iterations": 64, "correct": true} +{"wall_ms": 16.588499999999996, "user_us": 15475.0, "system_us": 1120.0, "rss_before": 58179584.0, "rss_after": 77889536.0, "checksum": 15.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94945280, "instructions": 1213521176, "cycles": 252578513, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "parse", "case_iterations": 64, "correct": true} +{"wall_ms": 34.921958, "user_us": 34534.0, "system_us": 1140.0, "rss_before": 85884928.0, "rss_after": 102187008.0, "checksum": 15.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 105070592, "instructions": 1408643030, "cycles": 383983922, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "parse", "case_iterations": 64, "correct": true} +{"wall_ms": 29.185917000000003, "user_us": 28712.0, "system_us": 987.0, "rss_before": 54968320.0, "rss_after": 68878336.0, "checksum": 15.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 70352896, "instructions": 1174532229, "cycles": 256645445, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "parse", "case_iterations": 64, "correct": true} +{"wall_ms": 44.381125, "user_us": 44475.0, "system_us": 545.0, "rss_before": 77430784.0, "rss_after": 83034112.0, "checksum": 14666715.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 84770816, "instructions": 1243346637, "cycles": 442039574, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "stringify", "case_iterations": 232} +{"wall_ms": 4.414457999999998, "user_us": 4092.0, "system_us": 328.0, "rss_before": 30818304.0, "rss_after": 36749312.0, "checksum": 14666715.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40796160, "instructions": 334615049, "cycles": 69597359, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "stringify", "case_iterations": 232, "correct": true} +{"wall_ms": 4.447583, "user_us": 4089.0, "system_us": 366.0, "rss_before": 30834688.0, "rss_after": 36765696.0, "checksum": 14666715.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40828928, "instructions": 334714014, "cycles": 69810151, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "stringify", "case_iterations": 232, "correct": true} +{"wall_ms": 44.512167000000005, "user_us": 44612.0, "system_us": 528.0, "rss_before": 77283328.0, "rss_after": 82952192.0, "checksum": 14666715.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 84656128, "instructions": 1237169901, "cycles": 438439828, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "stringify", "case_iterations": 232, "correct": true} +{"wall_ms": 4.9196670000000005, "user_us": 4504.0, "system_us": 421.0, "rss_before": 48152576.0, "rss_after": 55148544.0, "checksum": 14666715.0, "retained": 0.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 55558144, "instructions": 433694468, "cycles": 101634533, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "stringify", "case_iterations": 232, "correct": true} +{"wall_ms": 27.918666, "user_us": 28838.0, "system_us": 640.0, "rss_before": 69779456.0, "rss_after": 74530816.0, "checksum": 15.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 79233024, "instructions": 1413580590, "cycles": 313655608, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "node", "operation": "parse", "case_iterations": 142} +{"wall_ms": 7.252791, "user_us": 6381.0, "system_us": 882.0, "rss_before": 34963456.0, "rss_after": 51871744.0, "checksum": 15.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 55132160, "instructions": 366056195, "cycles": 83335089, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "perry", "operation": "parse", "case_iterations": 142, "correct": true} +{"wall_ms": 7.335000000000001, "user_us": 6373.0, "system_us": 968.0, "rss_before": 34963456.0, "rss_after": 51871744.0, "checksum": 15.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 55148544, "instructions": 366245744, "cycles": 84447149, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "baseline", "operation": "parse", "case_iterations": 142, "correct": true} +{"wall_ms": 26.76295799999999, "user_us": 27182.0, "system_us": 623.0, "rss_before": 69926912.0, "rss_after": 76038144.0, "checksum": 15.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 80838656, "instructions": 1411912274, "cycles": 312407593, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "node", "operation": "parse", "case_iterations": 142, "correct": true} +{"wall_ms": 21.569417, "user_us": 22117.0, "system_us": 1094.0, "rss_before": 50118656.0, "rss_after": 65634304.0, "checksum": 15.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 67600384, "instructions": 995721046, "cycles": 205699321, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "bun", "operation": "parse", "case_iterations": 142, "correct": true} +{"wall_ms": 6.112459000000005, "user_us": 6483.0, "system_us": 268.0, "rss_before": 70631424.0, "rss_after": 72990720.0, "checksum": 13714365.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 74661888, "instructions": 638309807, "cycles": 170564797, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "node", "operation": "stringify", "case_iterations": 218} +{"wall_ms": 4.944584000000001, "user_us": 4503.0, "system_us": 448.0, "rss_before": 26574848.0, "rss_after": 33030144.0, "checksum": 13714365.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 37814272, "instructions": 384993197, "cycles": 74331505, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "perry", "operation": "stringify", "case_iterations": 218, "correct": true} +{"wall_ms": 4.828208, "user_us": 4507.0, "system_us": 328.0, "rss_before": 26574848.0, "rss_after": 33030144.0, "checksum": 13714365.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 37830656, "instructions": 384881271, "cycles": 73956555, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "baseline", "operation": "stringify", "case_iterations": 218, "correct": true} +{"wall_ms": 6.101209000000001, "user_us": 6409.0, "system_us": 249.0, "rss_before": 70631424.0, "rss_after": 72974336.0, "checksum": 13714365.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 74645504, "instructions": 636429735, "cycles": 169333316, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "node", "operation": "stringify", "case_iterations": 218, "correct": true} +{"wall_ms": 7.512542, "user_us": 7187.0, "system_us": 334.0, "rss_before": 43958272.0, "rss_after": 50495488.0, "checksum": 13714365.0, "retained": 0.0, "fixture": "heterogeneous_1m", "iterations": 7, "warmup": 8, "peak_rss": 50905088, "instructions": 502147356, "cycles": 112729557, "verify_sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", "engine": "bun", "operation": "stringify", "case_iterations": 218, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/window.json new file mode 100644 index 0000000000..4a131b6293 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/window.json @@ -0,0 +1,132 @@ +{ + "owner": "json-perf-6135-1789115937", + "load_before": [ + 1.86767578125, + 1.68994140625, + 1.6142578125 + ], + "started_utc": "2026-09-11T08:38:57Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-focus.py", + "--worker", + ".work/zero-spacing-r25/candidate-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "null:parse:2000000:5000:7", + "--case", + "null:stringify:2000000:5000:7", + "--case", + "string_a:parse:2000000:5000:7", + "--case", + "string_a:stringify:2000000:5000:7", + "--case", + "empty_object:parse:2000000:5000:7", + "--case", + "empty_object:stringify:2000000:5000:7", + "--case", + "tiny_object:parse:2000000:5000:7", + "--case", + "tiny_object:stringify:2000000:5000:7", + "--case", + "small_record:parse:1581369:5000:7", + "--case", + "small_record:stringify:2000000:5000:7", + "--case", + "object_1k:parse:1961848:5000:7", + "--case", + "object_1k:stringify:1036867:5000:7", + "--case", + "records_array_16k:parse:11284:2:7", + "--case", + "records_array_16k:stringify:12949:2:7", + "--case", + "records_array_16k:sparse:7868:2:7", + "--case", + "records_array_16k:scan:3761:2:7", + "--case", + "records_array_16k:roundtrip:7659:2:7", + "--case", + "records_array_1m:parse:170:2:7", + "--case", + "records_array_1m:stringify:229:2:7", + "--case", + "records_array_1m:sparse:161:2:7", + "--case", + "records_array_1m:scan:69:2:7", + "--case", + "records_array_1m:roundtrip:115:2:7", + "--case", + "records_object_1m:parse:81:2:7", + "--case", + "records_object_1m:stringify:229:2:7", + "--case", + "records_array_8m:parse:16:2:7", + "--case", + "records_array_8m:stringify:29:2:7", + "--case", + "records_array_8m:sparse:15:2:7", + "--case", + "records_array_8m:scan:8:2:7", + "--case", + "records_array_8m:roundtrip:11:2:7", + "--case", + "records_object_8m:parse:10:2:7", + "--case", + "records_object_8m:stringify:29:2:7", + "--case", + "records_array_20m:parse:4:2:7", + "--case", + "records_array_20m:stringify:12:2:7", + "--case", + "records_array_20m:sparse:4:2:7", + "--case", + "records_array_20m:scan:4:2:7", + "--case", + "records_array_20m:roundtrip:2:2:7", + "--case", + "records_object_20m:parse:4:2:7", + "--case", + "records_object_20m:stringify:12:2:7", + "--case", + "numbers_1m:parse:102:2:7", + "--case", + "numbers_1m:stringify:147:2:7", + "--case", + "long_string_1m:parse:2806:2:7", + "--case", + "long_string_1m:stringify:1922:2:7", + "--case", + "escaped_1m:parse:158:2:7", + "--case", + "escaped_1m:stringify:166:2:7", + "--case", + "unicode_1m:parse:2786:2:7", + "--case", + "unicode_1m:stringify:2475:2:7", + "--case", + "wide_1m:parse:64:2:7", + "--case", + "wide_1m:stringify:232:2:7", + "--case", + "heterogeneous_1m:parse:142:2:7", + "--case", + "heterogeneous_1m:stringify:218:2:7", + "--results-dir", + "results/quiet-zero-spacing-r25-full" + ], + "competing_workloads_before": [], + "load_after": [ + 1.64208984375, + 1.91162109375, + 1.7822265625 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:45:48Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-full/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller.log new file mode 100644 index 0000000000..d0d309ec84 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller.log @@ -0,0 +1,4 @@ +FINISHED long_string_1m plain 1024 +FINISHED long_string_1m dynamic-zero 1024 +FINISHED unicode_1m plain 1024 +FINISHED unicode_1m dynamic-zero 1024 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/host.json new file mode 100644 index 0000000000..db03e25098 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/host.json @@ -0,0 +1,58 @@ +{ + "started_utc": "2026-09-11T08:29:45Z", + "load_before": [ + 1.64404296875, + 1.69775390625, + 1.56005859375 + ], + "cases": [ + [ + "long_string_1m", + "plain", + 1024, + 4, + 7 + ], + [ + "long_string_1m", + "dynamic-zero", + 1024, + 4, + 7 + ], + [ + "unicode_1m", + "plain", + 1024, + 4, + 7 + ], + [ + "unicode_1m", + "dynamic-zero", + 1024, + 4, + 7 + ] + ], + "workers": { + "perry": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "baseline": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:30:13Z", + "load_after": [ + 1.99755859375, + 1.78369140625, + 1.59423828125 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/large-cases.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/large-cases.json new file mode 100644 index 0000000000..6313607746 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/large-cases.json @@ -0,0 +1,32 @@ +{ + "cases": [ + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "warmup": 4, + "repetitions": 7 + }, + { + "fixture": "long_string_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "warmup": 4, + "repetitions": 7 + }, + { + "fixture": "unicode_1m", + "operation": "plain", + "iterations": 1024, + "warmup": 4, + "repetitions": 7 + }, + { + "fixture": "unicode_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "warmup": 4, + "repetitions": 7 + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/measure-large-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/measure-large-options.py new file mode 100644 index 0000000000..80db9deac7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/measure-large-options.py @@ -0,0 +1,27 @@ +from pathlib import Path +import json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +prefix = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +host = 'perry@perry-macos.local' +cmd = ['python3', prefix + 'run-options.py', '--worker', prefix + 'candidate-options', + '--baseline-worker', prefix + 'main-options', '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +cases=json.loads((w/'large-cases.json').read_text())['cases'] +assert len(cases)==4 and all(c['repetitions']==7 for c in cases) +for c in cases: + cmd+=['--case',':'.join(str(c[k]) for k in ['fixture','operation','iterations','warmup','repetitions'])] +slug = 'quiet-' + w.name + '-large-options' +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +(w / 'remote-large-options-command.json').write_text(json.dumps(invocation, indent=2) + '\n') +with (w / 'remote-large-options.log').open('wb') as log: + result = subprocess.run(['ssh', host, 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], stdout=log, stderr=subprocess.STDOUT) +print((w / 'remote-large-options.log').read_text(), flush=True) +subprocess.run(['python3', str(w / 'archive-results.py'), slug, 'options', '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for name in ['remote-large-options-command.json', 'remote-large-options.log', 'remote-stage-hashes.json', 'large-cases.json', 'measure-large-options.py']: + shutil.copy2(w / name, d / name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +if result.returncode: + raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-after.txt new file mode 100644 index 0000000000..3bfbf74e3a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-after.txt @@ -0,0 +1,572 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.0 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.6 /usr/sbin/bluetoothd + 161 0.0 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.3 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.1 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.1 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.1 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.8 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.4 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5122 0.0 sshd-session: perry [priv] + 5123 0.0 + 5125 0.0 sshd-session: perry@notty + 5126 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5213 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5214 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5215 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5216 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5217 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5218 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5402 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 13.4 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.7 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-before.txt new file mode 100644 index 0000000000..fd6de1f163 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-before.txt @@ -0,0 +1,566 @@ + PID %CPU COMM + 1 10.1 /sbin/launchd + 94 0.8 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.9 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.4 /usr/sbin/bluetoothd + 161 1.1 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.2 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.4 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 1.4 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.4 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5122 13.3 sshd-session: perry [priv] + 5123 0.0 + 5125 0.6 sshd-session: perry@notty + 5126 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5127 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 14.4 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.5 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options-command.json new file mode 100644 index 0000000000..3ddb50cdd8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options-command.json @@ -0,0 +1,25 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "long_string_1m:plain:1024:4:7", + "--case", + "long_string_1m:dynamic-zero:1024:4:7", + "--case", + "unicode_1m:plain:1024:4:7", + "--case", + "unicode_1m:dynamic-zero:1024:4:7", + "--results-dir", + "results/quiet-zero-spacing-r25-large-options" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options.log new file mode 100644 index 0000000000..1a178a1d18 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-5126-1789115385 load (1.64404296875, 1.69775390625, 1.56005859375) +FINISHED custom load (1.99755859375, 1.78369140625, 1.59423828125) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/summary.json new file mode 100644 index 0000000000..f0dee4018c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/summary.json @@ -0,0 +1,434 @@ +[ + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "perry", + "repetitions": 7, + "cpu_us": 39.6416015625, + "cpu_samples_us": [ + 41.0400390625, + 39.6416015625, + 40.681640625, + 37.7578125, + 35.22265625, + 40.25390625, + 39.076171875 + ], + "peak_rss_mib": 54.578125, + "peak_rss_samples_mib": [ + 54.578125, + 54.578125, + 54.609375, + 54.578125, + 54.609375, + 54.578125, + 54.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 36.8896484375, + "cpu_samples_us": [ + 34.0673828125, + 36.8896484375, + 40.111328125, + 35.5166015625, + 39.763671875, + 39.8251953125, + 36.50390625 + ], + "peak_rss_mib": 54.578125, + "peak_rss_samples_mib": [ + 54.578125, + 54.609375, + 54.578125, + 54.578125, + 54.578125, + 54.609375, + 54.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "node", + "repetitions": 7, + "cpu_us": 106.89453125, + "cpu_samples_us": [ + 106.4716796875, + 107.0009765625, + 107.1572265625, + 106.4033203125, + 106.89453125, + 111.029296875, + 106.12890625 + ], + "peak_rss_mib": 154.015625, + "peak_rss_samples_mib": [ + 154.015625, + 153.984375, + 154.046875, + 154.015625, + 154.0625, + 153.96875, + 154.0625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "bun", + "repetitions": 7, + "cpu_us": 99.0966796875, + "cpu_samples_us": [ + 99.6171875, + 98.65625, + 96.95703125, + 99.0966796875, + 96.75390625, + 99.291015625, + 99.4560546875 + ], + "peak_rss_mib": 155.578125, + "peak_rss_samples_mib": [ + 164.546875, + 149.59375, + 122.515625, + 155.59375, + 122.453125, + 155.578125, + 158.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "perry", + "repetitions": 7, + "cpu_us": 39.3505859375, + "cpu_samples_us": [ + 39.3505859375, + 38.802734375, + 41.044921875, + 39.8017578125, + 38.953125, + 36.2109375, + 41.3466796875 + ], + "peak_rss_mib": 54.578125, + "peak_rss_samples_mib": [ + 54.578125, + 54.609375, + 54.609375, + 54.578125, + 54.578125, + 54.578125, + 54.609375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 106.22265625, + "cpu_samples_us": [ + 106.58984375, + 106.1318359375, + 106.1865234375, + 105.8623046875, + 106.626953125, + 106.22265625, + 106.6123046875 + ], + "peak_rss_mib": 55.734375, + "peak_rss_samples_mib": [ + 55.734375, + 55.734375, + 55.734375, + 55.734375, + 55.71875, + 55.765625, + 55.734375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "node", + "repetitions": 7, + "cpu_us": 393.1943359375, + "cpu_samples_us": [ + 393.5234375, + 393.529296875, + 393.1943359375, + 392.625, + 395.3515625, + 392.6826171875, + 392.384765625 + ], + "peak_rss_mib": 131.84375, + "peak_rss_samples_mib": [ + 131.84375, + 131.890625, + 131.859375, + 131.953125, + 131.75, + 131.5625, + 131.71875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "bun", + "repetitions": 7, + "cpu_us": 532.8369140625, + "cpu_samples_us": [ + 532.44921875, + 532.2314453125, + 531.9716796875, + 533.771484375, + 532.8369140625, + 533.6572265625, + 535.2841796875 + ], + "peak_rss_mib": 151.359375, + "peak_rss_samples_mib": [ + 124.421875, + 124.375, + 124.375, + 151.359375, + 151.359375, + 154.375, + 166.3125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "plain", + "iterations": 1024, + "engine": "perry", + "repetitions": 7, + "cpu_us": 33.8525390625, + "cpu_samples_us": [ + 33.8525390625, + 32.421875, + 31.5712890625, + 34.8837890625, + 34.814453125, + 30.806640625, + 34.8916015625 + ], + "peak_rss_mib": 53.984375, + "peak_rss_samples_mib": [ + 53.953125, + 53.984375, + 53.96875, + 53.984375, + 53.953125, + 53.984375, + 53.984375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "plain", + "iterations": 1024, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 33.609375, + "cpu_samples_us": [ + 34.7890625, + 35.443359375, + 33.7939453125, + 32.6884765625, + 33.537109375, + 31.828125, + 33.609375 + ], + "peak_rss_mib": 53.984375, + "peak_rss_samples_mib": [ + 53.90625, + 53.984375, + 53.984375, + 53.984375, + 53.953125, + 53.984375, + 53.984375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "plain", + "iterations": 1024, + "engine": "node", + "repetitions": 7, + "cpu_us": 415.51953125, + "cpu_samples_us": [ + 415.673828125, + 415.48046875, + 407.2236328125, + 408.92578125, + 415.51953125, + 416.1376953125, + 417.490234375 + ], + "peak_rss_mib": 147.84375, + "peak_rss_samples_mib": [ + 147.890625, + 147.84375, + 147.859375, + 147.859375, + 147.71875, + 147.828125, + 147.75 + ] + }, + { + "fixture": "unicode_1m", + "operation": "plain", + "iterations": 1024, + "engine": "bun", + "repetitions": 7, + "cpu_us": 452.8798828125, + "cpu_samples_us": [ + 451.052734375, + 451.5966796875, + 455.3525390625, + 454.2109375, + 452.8798828125, + 453.1455078125, + 452.65234375 + ], + "peak_rss_mib": 152.59375, + "peak_rss_samples_mib": [ + 123.125, + 123.109375, + 159.671875, + 157.890625, + 152.59375, + 152.53125, + 165.953125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "perry", + "repetitions": 7, + "cpu_us": 32.056640625, + "cpu_samples_us": [ + 32.056640625, + 35.439453125, + 34.57421875, + 33.8115234375, + 31.42578125, + 30.3701171875, + 31.2353515625 + ], + "peak_rss_mib": 53.953125, + "peak_rss_samples_mib": [ + 53.984375, + 53.984375, + 53.953125, + 53.9375, + 53.953125, + 53.953125, + 53.984375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 147.859375, + "cpu_samples_us": [ + 148.0400390625, + 147.98828125, + 147.3056640625, + 147.859375, + 148.2119140625, + 147.650390625, + 147.80859375 + ], + "peak_rss_mib": 55.171875, + "peak_rss_samples_mib": [ + 55.171875, + 55.171875, + 55.203125, + 55.171875, + 55.203125, + 55.171875, + 55.171875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "node", + "repetitions": 7, + "cpu_us": 542.9267578125, + "cpu_samples_us": [ + 542.79296875, + 543.076171875, + 543.5361328125, + 542.9267578125, + 543.6474609375, + 542.140625, + 542.8779296875 + ], + "peak_rss_mib": 126.15625, + "peak_rss_samples_mib": [ + 126.265625, + 126.15625, + 126.203125, + 125.859375, + 126.15625, + 126.140625, + 126.125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "dynamic-zero", + "iterations": 1024, + "engine": "bun", + "repetitions": 7, + "cpu_us": 440.6181640625, + "cpu_samples_us": [ + 441.4521484375, + 438.529296875, + 441.1123046875, + 438.8447265625, + 441.4814453125, + 440.6181640625, + 440.1416015625 + ], + "peak_rss_mib": 150.796875, + "peak_rss_samples_mib": [ + 161.5625, + 124.0625, + 150.796875, + 124.0, + 163.265625, + 150.765625, + 150.84375 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/timing.jsonl new file mode 100644 index 0000000000..cf06cf7847 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/timing.jsonl @@ -0,0 +1,112 @@ +{"wall_ms": 42.021958, "user_us": 39694.0, "system_us": 2331.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516544234, "cycles": 159084256, "engine": "perry", "operation": "plain", "rep": 0} +{"wall_ms": 100.595042, "user_us": 93221.0, "system_us": 8787.0, "rss_before": 37322752.0, "rss_after": 172130304.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 172539904, "instructions": 1068949965, "cycles": 376140308, "engine": "bun", "operation": "plain", "rep": 0} +{"wall_ms": 34.878333, "user_us": 32577.0, "system_us": 2308.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516529558, "cycles": 135994687, "engine": "baseline", "operation": "plain", "rep": 0} +{"wall_ms": 104.661958, "user_us": 101612.0, "system_us": 7415.0, "rss_before": 66387968.0, "rss_after": 160595968.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161497088, "instructions": 2029217463, "cycles": 456478881, "engine": "node", "operation": "plain", "rep": 0} +{"wall_ms": 37.771209, "user_us": 35602.0, "system_us": 2173.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516602236, "cycles": 145431158, "engine": "baseline", "operation": "plain", "rep": 1} +{"wall_ms": 40.590458999999996, "user_us": 38347.0, "system_us": 2246.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516677028, "cycles": 154053473, "engine": "perry", "operation": "plain", "rep": 1} +{"wall_ms": 99.59679200000001, "user_us": 93229.0, "system_us": 7795.0, "rss_before": 37437440.0, "rss_after": 156450816.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 156860416, "instructions": 1062630071, "cycles": 373465894, "engine": "bun", "operation": "plain", "rep": 1} +{"wall_ms": 105.161416, "user_us": 102112.0, "system_us": 7457.0, "rss_before": 66387968.0, "rss_after": 160595968.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161464320, "instructions": 2029846491, "cycles": 458547090, "engine": "node", "operation": "plain", "rep": 1} +{"wall_ms": 41.653708, "user_us": 39529.0, "system_us": 2129.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516109612, "cycles": 157376849, "engine": "perry", "operation": "plain", "rep": 2} +{"wall_ms": 41.069917, "user_us": 38795.0, "system_us": 2279.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516719246, "cycles": 155759715, "engine": "baseline", "operation": "plain", "rep": 2} +{"wall_ms": 105.26570799999999, "user_us": 102212.0, "system_us": 7517.0, "rss_before": 66387968.0, "rss_after": 160645120.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161529856, "instructions": 2030141402, "cycles": 459381117, "engine": "node", "operation": "plain", "rep": 2} +{"wall_ms": 97.828416, "user_us": 93057.0, "system_us": 6227.0, "rss_before": 37371904.0, "rss_after": 128057344.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 128466944, "instructions": 1051682304, "cycles": 367969596, "engine": "bun", "operation": "plain", "rep": 2} +{"wall_ms": 36.361709, "user_us": 34226.0, "system_us": 2143.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516313931, "cycles": 140768170, "engine": "baseline", "operation": "plain", "rep": 3} +{"wall_ms": 100.018917, "user_us": 93246.0, "system_us": 8229.0, "rss_before": 37371904.0, "rss_after": 162742272.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 163151872, "instructions": 1065651907, "cycles": 374662181, "engine": "bun", "operation": "plain", "rep": 3} +{"wall_ms": 104.335958, "user_us": 101439.0, "system_us": 7518.0, "rss_before": 66355200.0, "rss_after": 160645120.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161497088, "instructions": 2033236158, "cycles": 459779842, "engine": "node", "operation": "plain", "rep": 3} +{"wall_ms": 38.659875, "user_us": 36528.0, "system_us": 2136.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516215756, "cycles": 147819163, "engine": "perry", "operation": "plain", "rep": 3} +{"wall_ms": 40.710541, "user_us": 38527.0, "system_us": 2191.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516248510, "cycles": 154405000, "engine": "baseline", "operation": "plain", "rep": 4} +{"wall_ms": 36.060416, "user_us": 33833.0, "system_us": 2235.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516764460, "cycles": 139780242, "engine": "perry", "operation": "plain", "rep": 4} +{"wall_ms": 97.711209, "user_us": 92924.0, "system_us": 6152.0, "rss_before": 37339136.0, "rss_after": 127991808.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 128401408, "instructions": 1051261058, "cycles": 366871909, "engine": "bun", "operation": "plain", "rep": 4} +{"wall_ms": 105.05179199999999, "user_us": 102069.0, "system_us": 7391.0, "rss_before": 66355200.0, "rss_after": 160661504.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161546240, "instructions": 2028940334, "cycles": 457794192, "engine": "node", "operation": "plain", "rep": 4} +{"wall_ms": 41.216708, "user_us": 38837.0, "system_us": 2383.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516421059, "cycles": 156257750, "engine": "perry", "operation": "plain", "rep": 5} +{"wall_ms": 100.206791, "user_us": 93351.0, "system_us": 8323.0, "rss_before": 37339136.0, "rss_after": 162725888.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 163135488, "instructions": 1066035955, "cycles": 375060767, "engine": "bun", "operation": "plain", "rep": 5} +{"wall_ms": 109.223291, "user_us": 106311.0, "system_us": 7383.0, "rss_before": 66240512.0, "rss_after": 160514048.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161447936, "instructions": 2029717980, "cycles": 472129645, "engine": "node", "operation": "plain", "rep": 5} +{"wall_ms": 40.772166000000006, "user_us": 38675.0, "system_us": 2106.0, "rss_before": 21774336.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516269875, "cycles": 154629217, "engine": "baseline", "operation": "plain", "rep": 5} +{"wall_ms": 37.376166, "user_us": 35260.0, "system_us": 2120.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516092498, "cycles": 143534759, "engine": "baseline", "operation": "plain", "rep": 6} +{"wall_ms": 104.323459, "user_us": 101318.0, "system_us": 7358.0, "rss_before": 66420736.0, "rss_after": 160628736.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161546240, "instructions": 2029180289, "cycles": 454883111, "engine": "node", "operation": "plain", "rep": 6} +{"wall_ms": 40.010541, "user_us": 37765.0, "system_us": 2249.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516221931, "cycles": 152319382, "engine": "perry", "operation": "plain", "rep": 6} +{"wall_ms": 100.385791, "user_us": 93387.0, "system_us": 8456.0, "rss_before": 37421056.0, "rss_after": 165871616.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 166281216, "instructions": 1066294480, "cycles": 375934424, "engine": "bun", "operation": "plain", "rep": 6} +{"wall_ms": 109.144042, "user_us": 106894.0, "system_us": 2254.0, "rss_before": 23019520.0, "rss_after": 57933824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58441728, "instructions": 1873675178, "cycles": 375277365, "engine": "baseline", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 40.292166, "user_us": 37998.0, "system_us": 2297.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516477926, "cycles": 153262295, "engine": "perry", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 543.641041, "user_us": 537561.0, "system_us": 7667.0, "rss_before": 38436864.0, "rss_after": 130039808.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 130465792, "instructions": 10158286079, "cycles": 1801658024, "engine": "bun", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 398.661584, "user_us": 396110.0, "system_us": 6858.0, "rss_before": 66502656.0, "rss_after": 137150464.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138248192, "instructions": 8670561751, "cycles": 1416669349, "engine": "node", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 108.671583, "user_us": 106415.0, "system_us": 2264.0, "rss_before": 23019520.0, "rss_after": 57933824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58441728, "instructions": 1873464489, "cycles": 373614961, "engine": "baseline", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 398.579292, "user_us": 396277.0, "system_us": 6697.0, "rss_before": 66551808.0, "rss_after": 137216000.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138297344, "instructions": 8671900880, "cycles": 1417082883, "engine": "node", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 39.728334000000004, "user_us": 37614.0, "system_us": 2120.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516297432, "cycles": 151126000, "engine": "perry", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 543.385042, "user_us": 537076.0, "system_us": 7929.0, "rss_before": 38387712.0, "rss_after": 129990656.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 130416640, "instructions": 10159217847, "cycles": 1800980344, "engine": "bun", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 543.123958, "user_us": 536876.0, "system_us": 7863.0, "rss_before": 38436864.0, "rss_after": 129990656.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 130416640, "instructions": 10157767245, "cycles": 1799876054, "engine": "bun", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 108.730333, "user_us": 106506.0, "system_us": 2229.0, "rss_before": 23019520.0, "rss_after": 57933824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58441728, "instructions": 1873679511, "cycles": 374108525, "engine": "baseline", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 42.026917000000005, "user_us": 39799.0, "system_us": 2231.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516238967, "cycles": 158928366, "engine": "perry", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 398.444417, "user_us": 395915.0, "system_us": 6716.0, "rss_before": 66535424.0, "rss_after": 137166848.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138264576, "instructions": 8671532531, "cycles": 1417561150, "engine": "node", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 397.727875, "user_us": 395545.0, "system_us": 6503.0, "rss_before": 66486272.0, "rss_after": 137216000.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138362880, "instructions": 8672763423, "cycles": 1415126119, "engine": "node", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 40.748458, "user_us": 38512.0, "system_us": 2245.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516763277, "cycles": 154527330, "engine": "perry", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 544.935625, "user_us": 536535.0, "system_us": 10047.0, "rss_before": 38404096.0, "rss_after": 158285824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 158711808, "instructions": 10169205506, "cycles": 1805953284, "engine": "bun", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 108.398917, "user_us": 106132.0, "system_us": 2271.0, "rss_before": 23019520.0, "rss_after": 57933824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58441728, "instructions": 1873521244, "cycles": 372920716, "engine": "baseline", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 39.885084, "user_us": 37641.0, "system_us": 2247.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516528580, "cycles": 151794684, "engine": "perry", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 544.0755829999999, "user_us": 535816.0, "system_us": 9809.0, "rss_before": 38420480.0, "rss_after": 158285824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 158711808, "instructions": 10169106868, "cycles": 1802949445, "engine": "bun", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 400.539708, "user_us": 398224.0, "system_us": 6616.0, "rss_before": 66404352.0, "rss_after": 137052160.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138149888, "instructions": 8668016637, "cycles": 1420299560, "engine": "node", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 109.17916699999999, "user_us": 106778.0, "system_us": 2408.0, "rss_before": 23003136.0, "rss_after": 57917440.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58425344, "instructions": 1873383378, "cycles": 375511475, "engine": "baseline", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 397.6895, "user_us": 395983.0, "system_us": 6124.0, "rss_before": 66420736.0, "rss_after": 137150464.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 137953280, "instructions": 8664411070, "cycles": 1409806301, "engine": "node", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 544.871458, "user_us": 536476.0, "system_us": 9989.0, "rss_before": 38436864.0, "rss_after": 161447936.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161873920, "instructions": 10169966975, "cycles": 1805461855, "engine": "bun", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 108.763958, "user_us": 106500.0, "system_us": 2272.0, "rss_before": 23019520.0, "rss_after": 57966592.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58474496, "instructions": 1873486103, "cycles": 374136392, "engine": "baseline", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 37.073709, "user_us": 34956.0, "system_us": 2124.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516380658, "cycles": 142817799, "engine": "perry", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 109.167208, "user_us": 106483.0, "system_us": 2688.0, "rss_before": 23019520.0, "rss_after": 57933824.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 58441728, "instructions": 1873530611, "cycles": 375045462, "engine": "baseline", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 397.637, "user_us": 395502.0, "system_us": 6300.0, "rss_before": 66387968.0, "rss_after": 137052160.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 138117120, "instructions": 8667308835, "cycles": 1409989707, "engine": "node", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 546.4561249999999, "user_us": 536960.0, "system_us": 11171.0, "rss_before": 38404096.0, "rss_after": 173965312.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 174391296, "instructions": 10173955432, "cycles": 1811081276, "engine": "bun", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 42.33175, "user_us": 40155.0, "system_us": 2184.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516335445, "cycles": 159670903, "engine": "perry", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 460.33754200000004, "user_us": 454702.0, "system_us": 7176.0, "rss_before": 38469632.0, "rss_after": 128696320.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 129105920, "instructions": 7440326991, "cycles": 1535671412, "engine": "bun", "operation": "plain", "rep": 0} +{"wall_ms": 421.332709, "user_us": 417732.0, "system_us": 7918.0, "rss_before": 66387968.0, "rss_after": 154468352.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 155074560, "instructions": 9268611106, "cycles": 1476901684, "engine": "node", "operation": "plain", "rep": 0} +{"wall_ms": 35.620583, "user_us": 33420.0, "system_us": 2204.0, "rss_before": 20021248.0, "rss_after": 56016896.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56524800, "instructions": 460288503, "cycles": 137347894, "engine": "baseline", "operation": "plain", "rep": 0} +{"wall_ms": 34.658583, "user_us": 32455.0, "system_us": 2210.0, "rss_before": 20037632.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 459960790, "cycles": 134464641, "engine": "perry", "operation": "plain", "rep": 0} +{"wall_ms": 460.914625, "user_us": 455123.0, "system_us": 7312.0, "rss_before": 38502400.0, "rss_after": 128679936.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 129089536, "instructions": 7442804471, "cycles": 1537204879, "engine": "bun", "operation": "plain", "rep": 1} +{"wall_ms": 33.195916999999994, "user_us": 31010.0, "system_us": 2190.0, "rss_before": 20021248.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 459706005, "cycles": 129452918, "engine": "perry", "operation": "plain", "rep": 1} +{"wall_ms": 36.289750000000005, "user_us": 34085.0, "system_us": 2209.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 461180967, "cycles": 139221063, "engine": "baseline", "operation": "plain", "rep": 1} +{"wall_ms": 421.148583, "user_us": 417484.0, "system_us": 7968.0, "rss_before": 66322432.0, "rss_after": 154402816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 155025408, "instructions": 9272531727, "cycles": 1479205585, "engine": "node", "operation": "plain", "rep": 1} +{"wall_ms": 464.724834, "user_us": 456562.0, "system_us": 9719.0, "rss_before": 38486016.0, "rss_after": 167018496.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 167428096, "instructions": 7456869020, "cycles": 1549872945, "engine": "bun", "operation": "plain", "rep": 2} +{"wall_ms": 32.325958, "user_us": 30072.0, "system_us": 2257.0, "rss_before": 20021248.0, "rss_after": 56082432.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56590336, "instructions": 461214373, "cycles": 126879704, "engine": "perry", "operation": "plain", "rep": 2} +{"wall_ms": 412.705875, "user_us": 409137.0, "system_us": 7860.0, "rss_before": 66371584.0, "rss_after": 154435584.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 155041792, "instructions": 9265514841, "cycles": 1447278899, "engine": "node", "operation": "plain", "rep": 2} +{"wall_ms": 34.601958, "user_us": 32351.0, "system_us": 2254.0, "rss_before": 20021248.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 460489689, "cycles": 134162949, "engine": "baseline", "operation": "plain", "rep": 2} +{"wall_ms": 35.717167, "user_us": 33589.0, "system_us": 2132.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 460062769, "cycles": 137930065, "engine": "perry", "operation": "plain", "rep": 3} +{"wall_ms": 33.467541, "user_us": 31258.0, "system_us": 2215.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 460412374, "cycles": 130469339, "engine": "baseline", "operation": "plain", "rep": 3} +{"wall_ms": 463.69937500000003, "user_us": 455777.0, "system_us": 9335.0, "rss_before": 38486016.0, "rss_after": 165150720.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 165560320, "instructions": 7455593301, "cycles": 1546202421, "engine": "bun", "operation": "plain", "rep": 3} +{"wall_ms": 414.46308300000004, "user_us": 411535.0, "system_us": 7205.0, "rss_before": 66338816.0, "rss_after": 154370048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 155041792, "instructions": 9265749603, "cycles": 1452722135, "engine": "node", "operation": "plain", "rep": 3} +{"wall_ms": 462.222958, "user_us": 454663.0, "system_us": 9086.0, "rss_before": 38502400.0, "rss_after": 159596544.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 160006144, "instructions": 7454061071, "cycles": 1541707348, "engine": "bun", "operation": "plain", "rep": 4} +{"wall_ms": 35.647125, "user_us": 33436.0, "system_us": 2214.0, "rss_before": 20037632.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 459883114, "cycles": 137197874, "engine": "perry", "operation": "plain", "rep": 4} +{"wall_ms": 34.335166, "user_us": 32128.0, "system_us": 2214.0, "rss_before": 20037632.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 460389867, "cycles": 133250050, "engine": "baseline", "operation": "plain", "rep": 4} +{"wall_ms": 421.240208, "user_us": 418044.0, "system_us": 7448.0, "rss_before": 66256896.0, "rss_after": 154337280.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 154894336, "instructions": 9267791023, "cycles": 1476035570, "engine": "node", "operation": "plain", "rep": 4} +{"wall_ms": 31.541708000000007, "user_us": 29333.0, "system_us": 2213.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 459873005, "cycles": 124304288, "engine": "perry", "operation": "plain", "rep": 5} +{"wall_ms": 32.588792, "user_us": 30304.0, "system_us": 2288.0, "rss_before": 20021248.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 460385096, "cycles": 127766772, "engine": "baseline", "operation": "plain", "rep": 5} +{"wall_ms": 421.85695799999996, "user_us": 418282.0, "system_us": 7843.0, "rss_before": 66306048.0, "rss_after": 154386432.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 155009024, "instructions": 9275521215, "cycles": 1483548800, "engine": "node", "operation": "plain", "rep": 5} +{"wall_ms": 462.50345799999997, "user_us": 454749.0, "system_us": 9272.0, "rss_before": 38453248.0, "rss_after": 159531008.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 159940608, "instructions": 7453494606, "cycles": 1542631776, "engine": "bun", "operation": "plain", "rep": 5} +{"wall_ms": 35.72425, "user_us": 33370.0, "system_us": 2359.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 459828611, "cycles": 137809816, "engine": "perry", "operation": "plain", "rep": 6} +{"wall_ms": 461.945167, "user_us": 453523.0, "system_us": 9993.0, "rss_before": 38502400.0, "rss_after": 173604864.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 174014464, "instructions": 7458745466, "cycles": 1540797500, "engine": "bun", "operation": "plain", "rep": 6} +{"wall_ms": 34.41225000000001, "user_us": 32084.0, "system_us": 2332.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 461014288, "cycles": 133585761, "engine": "baseline", "operation": "plain", "rep": 6} +{"wall_ms": 423.094042, "user_us": 419831.0, "system_us": 7679.0, "rss_before": 66240512.0, "rss_after": 154271744.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 154927104, "instructions": 9269485743, "cycles": 1483876039, "engine": "node", "operation": "plain", "rep": 6} +{"wall_ms": 450.57054200000005, "user_us": 442180.0, "system_us": 9867.0, "rss_before": 38600704.0, "rss_after": 169000960.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 169410560, "instructions": 7346207148, "cycles": 1504394682, "engine": "bun", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 551.69475, "user_us": 548875.0, "system_us": 6945.0, "rss_before": 66322432.0, "rss_after": 131465216.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132399104, "instructions": 11971389988, "cycles": 1914624331, "engine": "node", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 32.8185, "user_us": 30608.0, "system_us": 2218.0, "rss_before": 20021248.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 459850270, "cycles": 128535426, "engine": "perry", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 151.589542, "user_us": 149148.0, "system_us": 2445.0, "rss_before": 21053440.0, "rss_after": 57344000.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57851904, "instructions": 2472701184, "cycles": 510806759, "engine": "baseline", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 36.285624999999996, "user_us": 34042.0, "system_us": 2248.0, "rss_before": 20021248.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 461270633, "cycles": 139335781, "engine": "perry", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 447.469125, "user_us": 442172.0, "system_us": 6882.0, "rss_before": 38584320.0, "rss_after": 129679360.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 130088960, "instructions": 7330367753, "cycles": 1494558662, "engine": "bun", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 552.0525, "user_us": 549067.0, "system_us": 7043.0, "rss_before": 66306048.0, "rss_after": 131350528.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132284416, "instructions": 11968434793, "cycles": 1908215080, "engine": "node", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 151.542833, "user_us": 149053.0, "system_us": 2487.0, "rss_before": 21037056.0, "rss_after": 57344000.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57851904, "instructions": 2472153974, "cycles": 511233643, "engine": "baseline", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 35.399874999999994, "user_us": 33233.0, "system_us": 2171.0, "rss_before": 20037632.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 461129728, "cycles": 136516068, "engine": "perry", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 150.837, "user_us": 148474.0, "system_us": 2367.0, "rss_before": 21053440.0, "rss_after": 57376768.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57884672, "instructions": 2472134128, "cycles": 508301009, "engine": "baseline", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 552.204125, "user_us": 549821.0, "system_us": 6760.0, "rss_before": 66289664.0, "rss_after": 131383296.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132333568, "instructions": 11970519623, "cycles": 1912751402, "engine": "node", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 450.127209, "user_us": 443104.0, "system_us": 8595.0, "rss_before": 38518784.0, "rss_after": 157712384.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 158121984, "instructions": 7340833700, "cycles": 1503093815, "engine": "bun", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 447.85974999999996, "user_us": 442288.0, "system_us": 7089.0, "rss_before": 38469632.0, "rss_after": 129613824.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 130023424, "instructions": 7330526238, "cycles": 1495398096, "engine": "bun", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 151.404542, "user_us": 149050.0, "system_us": 2358.0, "rss_before": 21037056.0, "rss_after": 57344000.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57851904, "instructions": 2472164909, "cycles": 510097646, "engine": "baseline", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 34.619333999999995, "user_us": 32385.0, "system_us": 2238.0, "rss_before": 20021248.0, "rss_after": 56049664.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56557568, "instructions": 460838332, "cycles": 134172172, "engine": "perry", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 551.513, "user_us": 549336.0, "system_us": 6621.0, "rss_before": 66158592.0, "rss_after": 131334144.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 131973120, "instructions": 11968727761, "cycles": 1907120968, "engine": "node", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 450.652083, "user_us": 442769.0, "system_us": 9308.0, "rss_before": 38518784.0, "rss_after": 170786816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 171196416, "instructions": 7345426349, "cycles": 1504682472, "engine": "bun", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 32.176249999999996, "user_us": 29883.0, "system_us": 2297.0, "rss_before": 20037632.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 459797958, "cycles": 126289191, "engine": "perry", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 552.404583, "user_us": 549629.0, "system_us": 7066.0, "rss_before": 66256896.0, "rss_after": 131334144.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132284416, "instructions": 11971625476, "cycles": 1913849512, "engine": "node", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 151.761667, "user_us": 149308.0, "system_us": 2461.0, "rss_before": 21037056.0, "rss_after": 57376768.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57884672, "instructions": 2472486678, "cycles": 511553954, "engine": "baseline", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 31.094666, "user_us": 29017.0, "system_us": 2082.0, "rss_before": 20021248.0, "rss_after": 56066048.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56573952, "instructions": 460545746, "cycles": 122791396, "engine": "perry", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 449.71891700000003, "user_us": 442769.0, "system_us": 8424.0, "rss_before": 38486016.0, "rss_after": 157679616.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 158089216, "instructions": 7341072526, "cycles": 1501211630, "engine": "bun", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 151.19120800000002, "user_us": 148628.0, "system_us": 2566.0, "rss_before": 21053440.0, "rss_after": 57344000.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57851904, "instructions": 2472350619, "cycles": 509671267, "engine": "baseline", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 550.7312909999999, "user_us": 548195.0, "system_us": 6957.0, "rss_before": 66289664.0, "rss_after": 131366912.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132268032, "instructions": 11974040127, "cycles": 1910618375, "engine": "node", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 151.351291, "user_us": 148977.0, "system_us": 2379.0, "rss_before": 21037056.0, "rss_after": 57344000.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57851904, "instructions": 2472403323, "cycles": 510454583, "engine": "baseline", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 449.27616700000004, "user_us": 442317.0, "system_us": 8388.0, "rss_before": 38486016.0, "rss_after": 157761536.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 158171136, "instructions": 7339534185, "cycles": 1499862296, "engine": "bun", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 551.651583, "user_us": 549258.0, "system_us": 6649.0, "rss_before": 66273280.0, "rss_after": 131350528.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 132251648, "instructions": 11970403443, "cycles": 1911247259, "engine": "node", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 31.981042000000002, "user_us": 29624.0, "system_us": 2361.0, "rss_before": 20037632.0, "rss_after": 56098816.0, "checksum": 481122504.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 1024, "warmup": 4, "peak_rss": 56606720, "instructions": 459888557, "cycles": 126050649, "engine": "perry", "operation": "dynamic-zero", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/verify.jsonl new file mode 100644 index 0000000000..8534cbb3fc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/verify.jsonl @@ -0,0 +1,20 @@ +{"wall_ms": 0.9508749999999999, "user_us": 1286.0, "system_us": 241.0, "rss_before": 67354624.0, "rss_after": 69943296.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73138176, "instructions": 338099592, "cycles": 114218877, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "plain", "case_iterations": 1024} +{"wall_ms": 0.6124169999999989, "user_us": 157.0, "system_us": 461.0, "rss_before": 26050560.0, "rss_after": 33538048.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37912576, "instructions": 88208004, "cycles": 28879172, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.5602089999999995, "user_us": 156.0, "system_us": 411.0, "rss_before": 26050560.0, "rss_after": 33538048.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37912576, "instructions": 88291980, "cycles": 28457466, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.976582999999998, "user_us": 1254.0, "system_us": 267.0, "rss_before": 67518464.0, "rss_after": 70090752.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73269248, "instructions": 344425916, "cycles": 119191504, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 1.0019160000000014, "user_us": 619.0, "system_us": 391.0, "rss_before": 41517056.0, "rss_after": 48889856.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 49299456, "instructions": 158111065, "cycles": 56413962, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 2.9825830000000018, "user_us": 3310.0, "system_us": 272.0, "rss_before": 67502080.0, "rss_after": 70139904.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73285632, "instructions": 432108610, "cycles": 125638794, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "dynamic-zero", "case_iterations": 1024} +{"wall_ms": 0.5519170000000004, "user_us": 155.0, "system_us": 402.0, "rss_before": 26050560.0, "rss_after": 33538048.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37912576, "instructions": 88371505, "cycles": 28590059, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 1.076709000000001, "user_us": 692.0, "system_us": 393.0, "rss_before": 27279360.0, "rss_after": 33685504.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 38060032, "instructions": 108094252, "cycles": 32372359, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 2.997333000000001, "user_us": 3294.0, "system_us": 318.0, "rss_before": 67436544.0, "rss_after": 70123520.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73252864, "instructions": 432808921, "cycles": 125592616, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 4.0365829999999985, "user_us": 3618.0, "system_us": 423.0, "rss_before": 42631168.0, "rss_after": 50003968.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 50413568, "instructions": 290857099, "cycles": 77173732, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 2.958290999999999, "user_us": 3396.0, "system_us": 163.0, "rss_before": 67223552.0, "rss_after": 68632576.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70549504, "instructions": 469356055, "cycles": 136729400, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "plain", "case_iterations": 1024} +{"wall_ms": 0.45445899999999995, "user_us": 131.0, "system_us": 331.0, "rss_before": 23560192.0, "rss_after": 29786112.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33587200, "instructions": 98298455, "cycles": 29756169, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.5028750000000004, "user_us": 130.0, "system_us": 376.0, "rss_before": 23576576.0, "rss_after": 29802496.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33603584, "instructions": 98484698, "cycles": 30695615, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 3.016375, "user_us": 3391.0, "system_us": 173.0, "rss_before": 67174400.0, "rss_after": 68583424.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70467584, "instructions": 467703440, "cycles": 135451525, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 3.427624999999999, "user_us": 3069.0, "system_us": 363.0, "rss_before": 42254336.0, "rss_after": 48857088.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49315840, "instructions": 291255994, "cycles": 83200763, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 3.916625, "user_us": 4342.0, "system_us": 172.0, "rss_before": 67141632.0, "rss_after": 68550656.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70270976, "instructions": 502518832, "cycles": 138815949, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "dynamic-zero", "case_iterations": 1024} +{"wall_ms": 0.4777079999999989, "user_us": 131.0, "system_us": 353.0, "rss_before": 23560192.0, "rss_after": 29786112.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33587200, "instructions": 98290294, "cycles": 30022733, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 1.282375, "user_us": 974.0, "system_us": 315.0, "rss_before": 24608768.0, "rss_after": 30818304.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 34635776, "instructions": 128024496, "cycles": 36033000, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 3.905790999999997, "user_us": 4271.0, "system_us": 179.0, "rss_before": 67223552.0, "rss_after": 68648960.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 70352896, "instructions": 510889431, "cycles": 145159368, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} +{"wall_ms": 3.389792, "user_us": 2998.0, "system_us": 395.0, "rss_before": 42221568.0, "rss_after": 48807936.0, "checksum": 7020270.0, "retained": 0.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49266688, "instructions": 289752165, "cycles": 83030619, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "dynamic-zero", "case_iterations": 1024, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/window.json new file mode 100644 index 0000000000..eac6a2484a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/window.json @@ -0,0 +1,40 @@ +{ + "owner": "json-perf-5126-1789115385", + "load_before": [ + 1.64404296875, + 1.69775390625, + 1.56005859375 + ], + "started_utc": "2026-09-11T08:29:45Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "long_string_1m:plain:1024:4:7", + "--case", + "long_string_1m:dynamic-zero:1024:4:7", + "--case", + "unicode_1m:plain:1024:4:7", + "--case", + "unicode_1m:dynamic-zero:1024:4:7", + "--results-dir", + "results/quiet-zero-spacing-r25-large-options" + ], + "competing_workloads_before": [], + "load_after": [ + 1.99755859375, + 1.78369140625, + 1.59423828125 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:30:13Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller.log new file mode 100644 index 0000000000..78b26872d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller.log @@ -0,0 +1 @@ +FINISHED long_string_1m plain 1024 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/host.json new file mode 100644 index 0000000000..c6b683f7a9 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/host.json @@ -0,0 +1,37 @@ +{ + "started_utc": "2026-09-11T08:33:15Z", + "load_before": [ + 1.6708984375, + 1.76220703125, + 1.6220703125 + ], + "cases": [ + [ + "long_string_1m", + "plain", + 1024, + 4, + 11 + ] + ], + "workers": { + "perry": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "baseline": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:33:20Z", + "load_after": [ + 1.6708984375, + 1.76220703125, + 1.6220703125 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/large-recheck-cases.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/large-recheck-cases.json new file mode 100644 index 0000000000..df0b4c807d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/large-recheck-cases.json @@ -0,0 +1,11 @@ +{ + "cases": [ + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "warmup": 4, + "repetitions": 11 + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/measure-large-recheck-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/measure-large-recheck-options.py new file mode 100644 index 0000000000..7eccf72bb2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/measure-large-recheck-options.py @@ -0,0 +1,27 @@ +from pathlib import Path +import json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +prefix = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +host = 'perry@perry-macos.local' +cmd = ['python3', prefix + 'run-options.py', '--worker', prefix + 'candidate-options', + '--baseline-worker', prefix + 'main-options', '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +cases=json.loads((w/'large-recheck-cases.json').read_text())['cases'] +assert len(cases)==1 and all(c['repetitions']==11 for c in cases) +for c in cases: + cmd+=['--case',':'.join(str(c[k]) for k in ['fixture','operation','iterations','warmup','repetitions'])] +slug = 'quiet-' + w.name + '-large-recheck-options' +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +(w / 'remote-large-recheck-options-command.json').write_text(json.dumps(invocation, indent=2) + '\n') +with (w / 'remote-large-recheck-options.log').open('wb') as log: + result = subprocess.run(['ssh', host, 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], stdout=log, stderr=subprocess.STDOUT) +print((w / 'remote-large-recheck-options.log').read_text(), flush=True) +subprocess.run(['python3', str(w / 'archive-results.py'), slug, 'options', '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for name in ['remote-large-recheck-options-command.json', 'remote-large-recheck-options.log', 'remote-stage-hashes.json', 'large-recheck-cases.json', 'measure-large-recheck-options.py']: + shutil.copy2(w / name, d / name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +if result.returncode: + raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-after.txt new file mode 100644 index 0000000000..17e8102046 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-after.txt @@ -0,0 +1,569 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.1 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 0.2 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.6 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.2 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 1.2 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.1 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 5986 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5987 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5988 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5989 0.0 sshd-session: perry [priv] + 5990 0.0 + 5992 0.0 sshd-session: perry@notty + 5993 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 6096 0.0 ps + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 11.3 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.9 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-before.txt new file mode 100644 index 0000000000..9b704128bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-before.txt @@ -0,0 +1,569 @@ + PID %CPU COMM + 1 4.4 /sbin/launchd + 94 0.5 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.3 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.1 /usr/sbin/bluetoothd + 161 0.9 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 10.2 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.8 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 5986 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5987 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5988 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 5989 10.6 sshd-session: perry [priv] + 5990 0.0 + 5992 0.3 sshd-session: perry@notty + 5993 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5994 0.0 ps + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 13.5 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.3 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options-command.json new file mode 100644 index 0000000000..1610b2da23 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options-command.json @@ -0,0 +1,19 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "long_string_1m:plain:1024:4:11", + "--results-dir", + "results/quiet-zero-spacing-r25-large-recheck-options" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options.log new file mode 100644 index 0000000000..45ff746b78 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-5993-1789115595 load (1.6708984375, 1.76220703125, 1.6220703125) +FINISHED custom load (1.6708984375, 1.76220703125, 1.6220703125) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/summary.json new file mode 100644 index 0000000000..6fb53b444a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/summary.json @@ -0,0 +1,142 @@ +[ + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "perry", + "repetitions": 11, + "cpu_us": 38.607421875, + "cpu_samples_us": [ + 36.0087890625, + 38.607421875, + 41.9140625, + 36.873046875, + 34.451171875, + 34.236328125, + 42.703125, + 39.814453125, + 36.83984375, + 39.5810546875, + 40.1142578125 + ], + "peak_rss_mib": 54.578125, + "peak_rss_samples_mib": [ + 54.609375, + 54.578125, + 54.578125, + 54.578125, + 54.578125, + 54.609375, + 54.609375, + 54.578125, + 54.578125, + 54.578125, + 54.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "baseline", + "repetitions": 11, + "cpu_us": 38.1201171875, + "cpu_samples_us": [ + 44.12109375, + 39.9482421875, + 40.3896484375, + 39.255859375, + 36.90625, + 38.0126953125, + 37.5078125, + 37.353515625, + 34.8271484375, + 38.1201171875, + 38.318359375 + ], + "peak_rss_mib": 54.609375, + "peak_rss_samples_mib": [ + 54.609375, + 54.578125, + 54.609375, + 54.609375, + 54.5625, + 54.5625, + 54.609375, + 54.578125, + 54.609375, + 54.578125, + 54.609375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "node", + "repetitions": 11, + "cpu_us": 107.2763671875, + "cpu_samples_us": [ + 116.66015625, + 107.4814453125, + 108.408203125, + 107.2080078125, + 107.017578125, + 106.9228515625, + 107.2763671875, + 107.4052734375, + 108.236328125, + 106.7880859375, + 105.8251953125 + ], + "peak_rss_mib": 154.0, + "peak_rss_samples_mib": [ + 154.078125, + 154.0, + 154.015625, + 153.984375, + 154.0625, + 153.828125, + 153.953125, + 153.90625, + 153.96875, + 154.125, + 154.09375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "plain", + "iterations": 1024, + "engine": "bun", + "repetitions": 11, + "cpu_us": 99.1123046875, + "cpu_samples_us": [ + 99.880859375, + 99.7900390625, + 97.3232421875, + 99.013671875, + 98.9599609375, + 99.474609375, + 99.2080078125, + 98.6767578125, + 98.5712890625, + 99.1123046875, + 99.361328125 + ], + "peak_rss_mib": 155.515625, + "peak_rss_samples_mib": [ + 161.609375, + 161.578125, + 122.5625, + 152.578125, + 149.59375, + 161.625, + 158.5625, + 149.59375, + 149.546875, + 155.515625, + 158.53125 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/timing.jsonl new file mode 100644 index 0000000000..36904ce51c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/timing.jsonl @@ -0,0 +1,44 @@ +{"wall_ms": 36.882834, "user_us": 34665.0, "system_us": 2208.0, "rss_before": 21774336.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516365412, "cycles": 142120459, "engine": "perry", "operation": "plain", "rep": 0} +{"wall_ms": 100.75116700000001, "user_us": 93642.0, "system_us": 8636.0, "rss_before": 37339136.0, "rss_after": 169050112.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 169459712, "instructions": 1067922962, "cycles": 376365230, "engine": "bun", "operation": "plain", "rep": 0} +{"wall_ms": 45.173333, "user_us": 42888.0, "system_us": 2292.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516442912, "cycles": 165021219, "engine": "baseline", "operation": "plain", "rep": 0} +{"wall_ms": 115.04724999999999, "user_us": 112100.0, "system_us": 7360.0, "rss_before": 66404352.0, "rss_after": 160661504.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161562624, "instructions": 2030798722, "cycles": 491190122, "engine": "node", "operation": "plain", "rep": 0} +{"wall_ms": 40.899334, "user_us": 38724.0, "system_us": 2183.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516474580, "cycles": 155386456, "engine": "baseline", "operation": "plain", "rep": 1} +{"wall_ms": 39.529166000000004, "user_us": 37313.0, "system_us": 2221.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516268942, "cycles": 150716723, "engine": "perry", "operation": "plain", "rep": 1} +{"wall_ms": 100.682, "user_us": 93506.0, "system_us": 8679.0, "rss_before": 37339136.0, "rss_after": 169017344.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 169426944, "instructions": 1067819933, "cycles": 376578229, "engine": "bun", "operation": "plain", "rep": 1} +{"wall_ms": 105.49654199999999, "user_us": 102442.0, "system_us": 7619.0, "rss_before": 66355200.0, "rss_after": 160546816.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161480704, "instructions": 2028633610, "cycles": 459714194, "engine": "node", "operation": "plain", "rep": 1} +{"wall_ms": 42.912333, "user_us": 40725.0, "system_us": 2195.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516462750, "cycles": 161459845, "engine": "perry", "operation": "plain", "rep": 2} +{"wall_ms": 41.355333, "user_us": 38971.0, "system_us": 2388.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516243587, "cycles": 156550438, "engine": "baseline", "operation": "plain", "rep": 2} +{"wall_ms": 106.453792, "user_us": 103510.0, "system_us": 7500.0, "rss_before": 66355200.0, "rss_after": 160595968.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161497088, "instructions": 2031277388, "cycles": 463446005, "engine": "node", "operation": "plain", "rep": 2} +{"wall_ms": 98.153083, "user_us": 93284.0, "system_us": 6375.0, "rss_before": 37322752.0, "rss_after": 128106496.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 128516096, "instructions": 1052200808, "cycles": 368296964, "engine": "bun", "operation": "plain", "rep": 2} +{"wall_ms": 40.19375, "user_us": 38082.0, "system_us": 2116.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516300628, "cycles": 152935193, "engine": "baseline", "operation": "plain", "rep": 3} +{"wall_ms": 99.93641600000001, "user_us": 93293.0, "system_us": 8097.0, "rss_before": 37404672.0, "rss_after": 159580160.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 159989760, "instructions": 1064923568, "cycles": 374773412, "engine": "bun", "operation": "plain", "rep": 3} +{"wall_ms": 105.287542, "user_us": 102171.0, "system_us": 7610.0, "rss_before": 66322432.0, "rss_after": 160595968.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161464320, "instructions": 2031077352, "cycles": 459585679, "engine": "node", "operation": "plain", "rep": 3} +{"wall_ms": 37.749166, "user_us": 35526.0, "system_us": 2232.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516260451, "cycles": 145175303, "engine": "perry", "operation": "plain", "rep": 3} +{"wall_ms": 37.789291000000006, "user_us": 35568.0, "system_us": 2224.0, "rss_before": 21774336.0, "rss_after": 56705024.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57212928, "instructions": 516338429, "cycles": 145150874, "engine": "baseline", "operation": "plain", "rep": 4} +{"wall_ms": 35.274083000000005, "user_us": 33089.0, "system_us": 2189.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516441887, "cycles": 137157650, "engine": "perry", "operation": "plain", "rep": 4} +{"wall_ms": 99.808167, "user_us": 93280.0, "system_us": 8055.0, "rss_before": 37339136.0, "rss_after": 156450816.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 156860416, "instructions": 1062951054, "cycles": 374219869, "engine": "bun", "operation": "plain", "rep": 4} +{"wall_ms": 105.05533399999999, "user_us": 102035.0, "system_us": 7551.0, "rss_before": 66453504.0, "rss_after": 160645120.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161546240, "instructions": 2028865637, "cycles": 457064976, "engine": "node", "operation": "plain", "rep": 4} +{"wall_ms": 35.04991699999999, "user_us": 32650.0, "system_us": 2408.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516479025, "cycles": 136939946, "engine": "perry", "operation": "plain", "rep": 5} +{"wall_ms": 100.40899999999999, "user_us": 93336.0, "system_us": 8526.0, "rss_before": 37404672.0, "rss_after": 169066496.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 169476096, "instructions": 1067894652, "cycles": 375878597, "engine": "bun", "operation": "plain", "rep": 5} +{"wall_ms": 105.062833, "user_us": 102072.0, "system_us": 7417.0, "rss_before": 66289664.0, "rss_after": 160432128.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161300480, "instructions": 2031624723, "cycles": 459405815, "engine": "node", "operation": "plain", "rep": 5} +{"wall_ms": 38.917625, "user_us": 36701.0, "system_us": 2224.0, "rss_before": 21774336.0, "rss_after": 56705024.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57212928, "instructions": 516284111, "cycles": 148789015, "engine": "baseline", "operation": "plain", "rep": 5} +{"wall_ms": 38.40125, "user_us": 36259.0, "system_us": 2149.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516324657, "cycles": 147303063, "engine": "baseline", "operation": "plain", "rep": 6} +{"wall_ms": 105.367625, "user_us": 102303.0, "system_us": 7548.0, "rss_before": 66371584.0, "rss_after": 160514048.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161431552, "instructions": 2039853062, "cycles": 467291641, "engine": "node", "operation": "plain", "rep": 6} +{"wall_ms": 43.724458, "user_us": 41548.0, "system_us": 2180.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516430364, "cycles": 163979603, "engine": "perry", "operation": "plain", "rep": 6} +{"wall_ms": 100.170834, "user_us": 93228.0, "system_us": 8361.0, "rss_before": 37355520.0, "rss_after": 165855232.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 166264832, "instructions": 1066195639, "cycles": 374754755, "engine": "bun", "operation": "plain", "rep": 6} +{"wall_ms": 38.252208, "user_us": 35784.0, "system_us": 2466.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516539615, "cycles": 147002514, "engine": "baseline", "operation": "plain", "rep": 7} +{"wall_ms": 40.762916, "user_us": 38565.0, "system_us": 2205.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516561129, "cycles": 155086623, "engine": "perry", "operation": "plain", "rep": 7} +{"wall_ms": 99.534459, "user_us": 93250.0, "system_us": 7795.0, "rss_before": 37355520.0, "rss_after": 156450816.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 156860416, "instructions": 1062336719, "cycles": 373224373, "engine": "bun", "operation": "plain", "rep": 7} +{"wall_ms": 105.4715, "user_us": 102578.0, "system_us": 7405.0, "rss_before": 66322432.0, "rss_after": 160481280.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161382400, "instructions": 2030269836, "cycles": 459840179, "engine": "node", "operation": "plain", "rep": 7} +{"wall_ms": 35.654459, "user_us": 33388.0, "system_us": 2275.0, "rss_before": 21790720.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516314628, "cycles": 138685059, "engine": "baseline", "operation": "plain", "rep": 8} +{"wall_ms": 106.472375, "user_us": 103349.0, "system_us": 7485.0, "rss_before": 66273280.0, "rss_after": 160563200.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161447936, "instructions": 2029802774, "cycles": 462694932, "engine": "node", "operation": "plain", "rep": 8} +{"wall_ms": 37.7155, "user_us": 35548.0, "system_us": 2176.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516397848, "cycles": 144930392, "engine": "perry", "operation": "plain", "rep": 8} +{"wall_ms": 99.51162500000001, "user_us": 93182.0, "system_us": 7755.0, "rss_before": 37339136.0, "rss_after": 156401664.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 156811264, "instructions": 1062340019, "cycles": 372855370, "engine": "bun", "operation": "plain", "rep": 8} +{"wall_ms": 100.078958, "user_us": 93234.0, "system_us": 8257.0, "rss_before": 37355520.0, "rss_after": 162660352.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 163069952, "instructions": 1064754569, "cycles": 374323894, "engine": "bun", "operation": "plain", "rep": 9} +{"wall_ms": 39.031791999999996, "user_us": 36827.0, "system_us": 2208.0, "rss_before": 21790720.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516590400, "cycles": 149284963, "engine": "baseline", "operation": "plain", "rep": 9} +{"wall_ms": 40.523416000000005, "user_us": 38394.0, "system_us": 2137.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 517262447, "cycles": 153954525, "engine": "perry", "operation": "plain", "rep": 9} +{"wall_ms": 104.882875, "user_us": 101812.0, "system_us": 7539.0, "rss_before": 66502656.0, "rss_after": 160743424.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161611776, "instructions": 2029946874, "cycles": 458302616, "engine": "node", "operation": "plain", "rep": 9} +{"wall_ms": 103.891625, "user_us": 100988.0, "system_us": 7377.0, "rss_before": 66404352.0, "rss_after": 160661504.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 161579008, "instructions": 2035031475, "cycles": 458726472, "engine": "node", "operation": "plain", "rep": 10} +{"wall_ms": 41.072209, "user_us": 38853.0, "system_us": 2224.0, "rss_before": 21774336.0, "rss_after": 56721408.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57229312, "instructions": 516367691, "cycles": 155623455, "engine": "perry", "operation": "plain", "rep": 10} +{"wall_ms": 100.303833, "user_us": 93244.0, "system_us": 8502.0, "rss_before": 37339136.0, "rss_after": 165822464.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 166232064, "instructions": 1066309699, "cycles": 375623363, "engine": "bun", "operation": "plain", "rep": 10} +{"wall_ms": 39.230667, "user_us": 36979.0, "system_us": 2259.0, "rss_before": 21774336.0, "rss_after": 56754176.0, "checksum": 1077954632.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 1024, "warmup": 4, "peak_rss": 57262080, "instructions": 516380861, "cycles": 149945373, "engine": "baseline", "operation": "plain", "rep": 10} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/verify.jsonl new file mode 100644 index 0000000000..0578cde18b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/verify.jsonl @@ -0,0 +1,5 @@ +{"wall_ms": 0.9285409999999992, "user_us": 1270.0, "system_us": 223.0, "rss_before": 67485696.0, "rss_after": 70090752.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73252864, "instructions": 342019115, "cycles": 116465737, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "plain", "case_iterations": 1024} +{"wall_ms": 0.5553749999999997, "user_us": 155.0, "system_us": 407.0, "rss_before": 26034176.0, "rss_after": 33521664.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37896192, "instructions": 88118701, "cycles": 28247746, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.6330419999999997, "user_us": 157.0, "system_us": 480.0, "rss_before": 26050560.0, "rss_after": 33538048.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37912576, "instructions": 88267552, "cycles": 29424312, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.9068749999999994, "user_us": 1272.0, "system_us": 266.0, "rss_before": 67403776.0, "rss_after": 70074368.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 73252864, "instructions": 340767404, "cycles": 115177644, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "plain", "case_iterations": 1024, "correct": true} +{"wall_ms": 0.9941659999999999, "user_us": 619.0, "system_us": 383.0, "rss_before": 41582592.0, "rss_after": 48955392.0, "checksum": 15728910.0, "retained": 0.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 49364992, "instructions": 158068213, "cycles": 56515382, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "plain", "case_iterations": 1024, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/window.json new file mode 100644 index 0000000000..ff6a7625ca --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/window.json @@ -0,0 +1,34 @@ +{ + "owner": "json-perf-5993-1789115595", + "load_before": [ + 1.6708984375, + 1.76220703125, + 1.6220703125 + ], + "started_utc": "2026-09-11T08:33:15Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--case", + "long_string_1m:plain:1024:4:11", + "--results-dir", + "results/quiet-zero-spacing-r25-large-recheck-options" + ], + "competing_workloads_before": [], + "load_after": [ + 1.6708984375, + 1.76220703125, + 1.6220703125 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:33:20Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller.log new file mode 100644 index 0000000000..0dc9c00c20 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller.log @@ -0,0 +1,7 @@ +FINISHED small_record plain 2000000 +FINISHED small_record dynamic-zero 2000000 +FINISHED small_record zero 2000000 +FINISHED small_record pretty 1000000 +FINISHED small_record keys 1000000 +FINISHED small_record callback 200000 +FINISHED records_array_16k pretty 1000 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/host.json new file mode 100644 index 0000000000..e366110837 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/host.json @@ -0,0 +1,79 @@ +{ + "started_utc": "2026-09-11T08:25:53Z", + "load_before": [ + 1.9365234375, + 1.6083984375, + 1.49072265625 + ], + "cases": [ + [ + "small_record", + "plain", + 2000000, + 5000, + 7 + ], + [ + "small_record", + "dynamic-zero", + 2000000, + 5000, + 7 + ], + [ + "small_record", + "zero", + 2000000, + 5000, + 7 + ], + [ + "small_record", + "pretty", + 1000000, + 5000, + 7 + ], + [ + "small_record", + "keys", + 1000000, + 5000, + 7 + ], + [ + "small_record", + "callback", + 200000, + 5000, + 7 + ], + [ + "records_array_16k", + "pretty", + 1000, + 8, + 7 + ] + ], + "workers": { + "perry": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "baseline": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:27:08Z", + "load_after": [ + 2.02197265625, + 1.69580078125, + 1.53125 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/measure-supplement.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/measure-supplement.py new file mode 100644 index 0000000000..24b74aed95 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/measure-supplement.py @@ -0,0 +1,43 @@ +from pathlib import Path +import argparse, json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +p = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +parser = argparse.ArgumentParser() +parser.add_argument('phase', choices=['access', 'focus', 'options', 'rotating', 'retained']) +kind = parser.parse_args().phase +worker = {'access': 'access-worker', 'rotating': 'rotating-worker', 'options': 'options'}.get(kind, 'worker') +cmd = ['python3', p + 'run-' + kind + '.py', '--worker', p + 'candidate-' + worker, + '--baseline-worker', p + 'main-' + worker, '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +if kind == 'focus': + cases = ['records_array_16k:scan:4000:8:7', 'records_array_1m:scan:200:2:7', + 'records_array_8m:scan:32:1:7', 'records_array_20m:scan:16:1:7', + 'records_array_20m:roundtrip:8:1:7', 'records_array_1m:parse:200:8:7', + 'records_array_1m:stringify:256:8:7', 'small_record:parse:2000000:5000:7', + 'small_record:stringify:10000000:5000:7', 'long_string_1m:stringify:4096:8:7', + 'null:stringify:20000000:5000:7', 'string_a:stringify:20000000:5000:7', + 'empty_object:stringify:10000000:5000:7', 'tiny_object:stringify:10000000:5000:7', + 'object_1k:stringify:2000000:5000:7'] + for case in cases: + cmd += ['--case', case] +elif kind == 'rotating': + cmd += ['--filter', 'unicode_1m,long_string_1m,escaped_1m,small_record,records_array_1m', + '--repeat', '7', '--source-commit', json.loads((w / 'provenance.json').read_text())['source_commit']] +slug = 'quiet-' + w.name + '-' + kind +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +command_file = w / ('remote-' + kind + '-command.json') +log_file = w / ('remote-' + kind + '.log') +command_file.write_text(json.dumps(invocation, indent=2) + '\n') +with log_file.open('wb') as log: + result = subprocess.run(['ssh', 'perry@perry-macos.local', 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], + stdout=log, stderr=subprocess.STDOUT) +print(log_file.read_text(), flush=True) +# Preserve every terminal window before any other remote operation, including failures. +subprocess.run(['python3', str(w / 'archive-results.py'), slug, kind, '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for source in [command_file, log_file, w / 'remote-stage-hashes.json', Path(__file__)]: + shutil.copy2(source, d / source.name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-after.txt new file mode 100644 index 0000000000..8ee5888c4b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-after.txt @@ -0,0 +1,566 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.0 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 0.3 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.0 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.6 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 3.1 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.1 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.0 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4482 0.0 sshd-session: perry [priv] + 4483 0.0 + 4485 0.0 sshd-session: perry@notty + 4486 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 4956 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 7.8 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.6 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-before.txt new file mode 100644 index 0000000000..3f321e71de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-before.txt @@ -0,0 +1,578 @@ + PID %CPU COMM + 1 0.9 /sbin/launchd + 94 0.7 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 5.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.1 /usr/sbin/bluetoothd + 161 1.2 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.2 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.9 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4468 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4469 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4470 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4472 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4473 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4474 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4475 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 4476 0.0 /System/Applications/Mail.app/Contents/PlugIns/MailCacheDelete.appex/Contents/MacOS/MailCacheDelete + 4477 0.0 /System/Applications/Music.app/Contents/PlugIns/MusicCacheExtension.appex/Contents/MacOS/MusicCacheExtension + 4478 0.0 /System/Applications/TV.app/Contents/PlugIns/TVCacheExtension.appex/Contents/MacOS/TVCacheExtension + 4479 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/PlugIns/CacheDeleteExtension.appex/Contents/MacOS/CacheDeleteExtension + 4482 8.6 sshd-session: perry [priv] + 4483 0.0 + 4485 0.4 sshd-session: perry@notty + 4486 12.4 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 4487 0.0 ps + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 10.0 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.3 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options-command.json new file mode 100644 index 0000000000..fe5cd725ad --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options-command.json @@ -0,0 +1,17 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-options" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options.log new file mode 100644 index 0000000000..9fc4528d7f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-4486-1789115153 load (1.9365234375, 1.6083984375, 1.49072265625) +FINISHED custom load (2.02197265625, 1.69580078125, 1.53125) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/summary.json new file mode 100644 index 0000000000..55497bfaa0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/summary.json @@ -0,0 +1,758 @@ +[ + { + "fixture": "small_record", + "operation": "plain", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.044854, + "cpu_samples_us": [ + 0.04519, + 0.0449115, + 0.044756, + 0.0449105, + 0.044789, + 0.0448415, + 0.044854 + ], + "peak_rss_mib": 33.4375, + "peak_rss_samples_mib": [ + 33.4375, + 33.40625, + 33.4375, + 33.40625, + 33.4375, + 33.4375, + 33.390625 + ] + }, + { + "fixture": "small_record", + "operation": "plain", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.0452955, + "cpu_samples_us": [ + 0.045707, + 0.0452955, + 0.0452515, + 0.045438, + 0.0452195, + 0.045288, + 0.045354 + ], + "peak_rss_mib": 33.40625, + "peak_rss_samples_mib": [ + 33.4375, + 33.4375, + 33.390625, + 33.390625, + 33.40625, + 33.390625, + 33.40625 + ] + }, + { + "fixture": "small_record", + "operation": "plain", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.108453, + "cpu_samples_us": [ + 0.1092695, + 0.1080655, + 0.1081885, + 0.110061, + 0.1087085, + 0.108453, + 0.108291 + ], + "peak_rss_mib": 59.59375, + "peak_rss_samples_mib": [ + 59.609375, + 59.515625, + 59.5625, + 59.484375, + 59.609375, + 59.59375, + 59.703125 + ] + }, + { + "fixture": "small_record", + "operation": "plain", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.1199135, + "cpu_samples_us": [ + 0.122014, + 0.1199675, + 0.119959, + 0.1199135, + 0.1197925, + 0.1196825, + 0.1196425 + ], + "peak_rss_mib": 378.5625, + "peak_rss_samples_mib": [ + 378.53125, + 378.5625, + 378.5625, + 378.5625, + 378.5625, + 378.59375, + 378.5625 + ] + }, + { + "fixture": "small_record", + "operation": "dynamic-zero", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.044567, + "cpu_samples_us": [ + 0.0445865, + 0.044555, + 0.0445025, + 0.044567, + 0.044603, + 0.0445575, + 0.0446465 + ], + "peak_rss_mib": 33.4375, + "peak_rss_samples_mib": [ + 33.40625, + 33.40625, + 33.4375, + 33.4375, + 33.4375, + 33.4375, + 33.390625 + ] + }, + { + "fixture": "small_record", + "operation": "dynamic-zero", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.4359845, + "cpu_samples_us": [ + 0.4359845, + 0.4355995, + 0.436127, + 0.4356455, + 0.4352455, + 0.436236, + 0.436409 + ], + "peak_rss_mib": 33.78125, + "peak_rss_samples_mib": [ + 33.8125, + 33.796875, + 33.765625, + 33.8125, + 33.78125, + 33.765625, + 33.765625 + ] + }, + { + "fixture": "small_record", + "operation": "dynamic-zero", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.247717, + "cpu_samples_us": [ + 0.247584, + 0.248266, + 0.2476405, + 0.249498, + 0.247691, + 0.247717, + 0.248279 + ], + "peak_rss_mib": 59.625, + "peak_rss_samples_mib": [ + 59.640625, + 59.609375, + 59.5, + 59.734375, + 59.625, + 59.46875, + 59.71875 + ] + }, + { + "fixture": "small_record", + "operation": "dynamic-zero", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.3944915, + "cpu_samples_us": [ + 0.39547, + 0.394339, + 0.3962875, + 0.394591, + 0.39309, + 0.3944915, + 0.3940205 + ], + "peak_rss_mib": 378.625, + "peak_rss_samples_mib": [ + 378.625, + 378.65625, + 378.640625, + 378.640625, + 378.625, + 378.625, + 378.609375 + ] + }, + { + "fixture": "small_record", + "operation": "zero", + "iterations": 2000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0448205, + "cpu_samples_us": [ + 0.0448195, + 0.0448125, + 0.044915, + 0.0448205, + 0.0448845, + 0.0447945, + 0.045037 + ], + "peak_rss_mib": 33.421875, + "peak_rss_samples_mib": [ + 33.40625, + 33.4375, + 33.421875, + 33.421875, + 33.390625, + 33.4375, + 33.421875 + ] + }, + { + "fixture": "small_record", + "operation": "zero", + "iterations": 2000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.43601, + "cpu_samples_us": [ + 0.437404, + 0.435779, + 0.435744, + 0.4356895, + 0.436129, + 0.436055, + 0.43601 + ], + "peak_rss_mib": 33.765625, + "peak_rss_samples_mib": [ + 33.78125, + 33.765625, + 33.765625, + 33.765625, + 33.765625, + 33.8125, + 33.8125 + ] + }, + { + "fixture": "small_record", + "operation": "zero", + "iterations": 2000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.2474935, + "cpu_samples_us": [ + 0.2474935, + 0.247641, + 0.246761, + 0.247201, + 0.2469245, + 0.2483835, + 0.247537 + ], + "peak_rss_mib": 59.609375, + "peak_rss_samples_mib": [ + 59.6875, + 59.5625, + 59.640625, + 59.59375, + 59.609375, + 59.640625, + 59.5625 + ] + }, + { + "fixture": "small_record", + "operation": "zero", + "iterations": 2000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.3942765, + "cpu_samples_us": [ + 0.3938375, + 0.394298, + 0.394593, + 0.394241, + 0.3942765, + 0.3943055, + 0.393679 + ], + "peak_rss_mib": 378.625, + "peak_rss_samples_mib": [ + 378.609375, + 378.625, + 378.625, + 378.625, + 378.65625, + 378.59375, + 378.65625 + ] + }, + { + "fixture": "small_record", + "operation": "pretty", + "iterations": 1000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.48427, + "cpu_samples_us": [ + 0.485128, + 0.484374, + 0.483797, + 0.484083, + 0.481421, + 0.48427, + 0.485709 + ], + "peak_rss_mib": 33.765625, + "peak_rss_samples_mib": [ + 33.75, + 33.734375, + 33.765625, + 33.78125, + 33.796875, + 33.75, + 33.765625 + ] + }, + { + "fixture": "small_record", + "operation": "pretty", + "iterations": 1000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.485877, + "cpu_samples_us": [ + 0.486357, + 0.485877, + 0.485996, + 0.485386, + 0.483604, + 0.48601, + 0.485149 + ], + "peak_rss_mib": 33.78125, + "peak_rss_samples_mib": [ + 33.75, + 33.78125, + 33.75, + 33.78125, + 33.765625, + 33.78125, + 33.78125 + ] + }, + { + "fixture": "small_record", + "operation": "pretty", + "iterations": 1000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.302888, + "cpu_samples_us": [ + 0.303175, + 0.302888, + 0.302803, + 0.304179, + 0.303838, + 0.302833, + 0.302755 + ], + "peak_rss_mib": 59.625, + "peak_rss_samples_mib": [ + 59.625, + 59.625, + 59.453125, + 59.625, + 59.71875, + 59.640625, + 59.6875 + ] + }, + { + "fixture": "small_record", + "operation": "pretty", + "iterations": 1000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.524905, + "cpu_samples_us": [ + 0.52506, + 0.52621, + 0.524765, + 0.525038, + 0.524398, + 0.524905, + 0.524883 + ], + "peak_rss_mib": 239.359375, + "peak_rss_samples_mib": [ + 239.375, + 239.359375, + 239.375, + 239.359375, + 239.359375, + 239.34375, + 239.375 + ] + }, + { + "fixture": "small_record", + "operation": "keys", + "iterations": 1000000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.460551, + "cpu_samples_us": [ + 0.460455, + 0.460284, + 0.461486, + 0.460551, + 0.459947, + 0.460659, + 0.462485 + ], + "peak_rss_mib": 33.75, + "peak_rss_samples_mib": [ + 33.765625, + 33.734375, + 33.71875, + 33.765625, + 33.75, + 33.765625, + 33.75 + ] + }, + { + "fixture": "small_record", + "operation": "keys", + "iterations": 1000000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.459748, + "cpu_samples_us": [ + 0.459453, + 0.459768, + 0.459811, + 0.459964, + 0.459748, + 0.458589, + 0.458896 + ], + "peak_rss_mib": 33.765625, + "peak_rss_samples_mib": [ + 33.765625, + 33.734375, + 33.765625, + 33.71875, + 33.734375, + 33.765625, + 33.765625 + ] + }, + { + "fixture": "small_record", + "operation": "keys", + "iterations": 1000000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.597278, + "cpu_samples_us": [ + 0.598781, + 0.596584, + 0.587011, + 0.597278, + 0.60931, + 0.599791, + 0.587212 + ], + "peak_rss_mib": 59.71875, + "peak_rss_samples_mib": [ + 59.71875, + 59.625, + 59.765625, + 59.8125, + 59.703125, + 59.609375, + 59.734375 + ] + }, + { + "fixture": "small_record", + "operation": "keys", + "iterations": 1000000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.484141, + "cpu_samples_us": [ + 0.484075, + 0.484141, + 0.489082, + 0.48341, + 0.484144, + 0.484713, + 0.483204 + ], + "peak_rss_mib": 207.78125, + "peak_rss_samples_mib": [ + 207.796875, + 207.765625, + 207.78125, + 207.78125, + 207.75, + 207.765625, + 207.78125 + ] + }, + { + "fixture": "small_record", + "operation": "callback", + "iterations": 200000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.947095, + "cpu_samples_us": [ + 0.94497, + 0.947675, + 0.9451, + 0.94724, + 0.948745, + 0.947095, + 0.946485 + ], + "peak_rss_mib": 32.484375, + "peak_rss_samples_mib": [ + 32.484375, + 32.484375, + 32.515625, + 32.515625, + 32.484375, + 32.515625, + 32.484375 + ] + }, + { + "fixture": "small_record", + "operation": "callback", + "iterations": 200000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.94591, + "cpu_samples_us": [ + 0.949375, + 0.94672, + 0.946275, + 0.94453, + 0.94591, + 0.94585, + 0.94555 + ], + "peak_rss_mib": 32.484375, + "peak_rss_samples_mib": [ + 32.515625, + 32.46875, + 32.484375, + 32.515625, + 32.484375, + 32.484375, + 32.484375 + ] + }, + { + "fixture": "small_record", + "operation": "callback", + "iterations": 200000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.602905, + "cpu_samples_us": [ + 0.602905, + 0.60783, + 0.604845, + 0.60993, + 0.602395, + 0.599875, + 0.601595 + ], + "peak_rss_mib": 59.65625, + "peak_rss_samples_mib": [ + 59.671875, + 59.65625, + 59.71875, + 59.46875, + 59.46875, + 59.65625, + 59.71875 + ] + }, + { + "fixture": "small_record", + "operation": "callback", + "iterations": 200000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.582635, + "cpu_samples_us": [ + 0.580985, + 0.583235, + 0.582635, + 0.581945, + 0.58534, + 0.584235, + 0.582125 + ], + "peak_rss_mib": 97.6875, + "peak_rss_samples_mib": [ + 97.75, + 97.671875, + 97.6875, + 97.6875, + 97.734375, + 97.671875, + 97.75 + ] + }, + { + "fixture": "records_array_16k", + "operation": "pretty", + "iterations": 1000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 46.292, + "cpu_samples_us": [ + 46.292, + 46.046, + 46.115, + 46.316, + 46.37, + 46.347, + 46.172 + ], + "peak_rss_mib": 35.078125, + "peak_rss_samples_mib": [ + 35.078125, + 35.078125, + 35.078125, + 35.078125, + 35.078125, + 35.078125, + 35.078125 + ] + }, + { + "fixture": "records_array_16k", + "operation": "pretty", + "iterations": 1000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 46.124, + "cpu_samples_us": [ + 46.043, + 46.02, + 46.437, + 46.124, + 46.256, + 46.118, + 46.297 + ], + "peak_rss_mib": 35.078125, + "peak_rss_samples_mib": [ + 35.078125, + 35.078125, + 35.078125, + 35.078125, + 35.0625, + 35.078125, + 35.0625 + ] + }, + { + "fixture": "records_array_16k", + "operation": "pretty", + "iterations": 1000, + "engine": "node", + "repetitions": 7, + "cpu_us": 33.389, + "cpu_samples_us": [ + 33.654, + 32.99, + 33.817, + 33.389, + 33.641, + 33.173, + 33.187 + ], + "peak_rss_mib": 57.046875, + "peak_rss_samples_mib": [ + 57.0625, + 57.078125, + 57.046875, + 57.125, + 57.03125, + 56.96875, + 56.953125 + ] + }, + { + "fixture": "records_array_16k", + "operation": "pretty", + "iterations": 1000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 45.856, + "cpu_samples_us": [ + 45.856, + 45.804, + 45.666, + 45.896, + 46.339, + 46.05, + 45.814 + ], + "peak_rss_mib": 49.71875, + "peak_rss_samples_mib": [ + 49.71875, + 49.71875, + 49.734375, + 49.671875, + 49.703125, + 49.71875, + 49.71875 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/timing.jsonl new file mode 100644 index 0000000000..11a0f56a6f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/timing.jsonl @@ -0,0 +1,196 @@ +{"wall_ms": 90.37583299999999, "user_us": 88134.0, "system_us": 2246.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590707104, "cycles": 311302084, "engine": "perry", "operation": "plain", "rep": 0} +{"wall_ms": 239.826875, "user_us": 217508.0, "system_us": 26520.0, "rss_before": 30851072.0, "rss_after": 396509184.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396918784, "instructions": 4994658354, "cycles": 831298544, "engine": "bun", "operation": "plain", "rep": 0} +{"wall_ms": 91.40995900000001, "user_us": 89047.0, "system_us": 2367.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1594040237, "cycles": 315382085, "engine": "baseline", "operation": "plain", "rep": 0} +{"wall_ms": 216.244459, "user_us": 217190.0, "system_us": 1349.0, "rss_before": 56213504.0, "rss_after": 61849600.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 4711313084, "cycles": 804790566, "engine": "node", "operation": "plain", "rep": 0} +{"wall_ms": 90.58845800000002, "user_us": 88839.0, "system_us": 1752.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590879974, "cycles": 312354692, "engine": "baseline", "operation": "plain", "rep": 1} +{"wall_ms": 89.819084, "user_us": 88075.0, "system_us": 1748.0, "rss_before": 13320192.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1589108552, "cycles": 309661184, "engine": "perry", "operation": "plain", "rep": 1} +{"wall_ms": 235.82475, "user_us": 217374.0, "system_us": 22561.0, "rss_before": 30867456.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 4994616542, "cycles": 818049036, "engine": "bun", "operation": "plain", "rep": 1} +{"wall_ms": 213.850625, "user_us": 214586.0, "system_us": 1545.0, "rss_before": 56147968.0, "rss_after": 61734912.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62406656, "instructions": 4703554711, "cycles": 791674270, "engine": "node", "operation": "plain", "rep": 1} +{"wall_ms": 89.508209, "user_us": 87915.0, "system_us": 1597.0, "rss_before": 13336576.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1588319911, "cycles": 308733381, "engine": "perry", "operation": "plain", "rep": 2} +{"wall_ms": 90.49920800000001, "user_us": 89008.0, "system_us": 1495.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1590409474, "cycles": 311536796, "engine": "baseline", "operation": "plain", "rep": 2} +{"wall_ms": 214.09754099999998, "user_us": 215009.0, "system_us": 1368.0, "rss_before": 56164352.0, "rss_after": 61816832.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 4711646912, "cycles": 798128899, "engine": "node", "operation": "plain", "rep": 2} +{"wall_ms": 235.736083, "user_us": 217279.0, "system_us": 22639.0, "rss_before": 30867456.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 4998414974, "cycles": 818509959, "engine": "bun", "operation": "plain", "rep": 2} +{"wall_ms": 90.877583, "user_us": 89165.0, "system_us": 1711.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1590628090, "cycles": 312520200, "engine": "baseline", "operation": "plain", "rep": 3} +{"wall_ms": 235.65800000000002, "user_us": 217360.0, "system_us": 22467.0, "rss_before": 30867456.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 4996432087, "cycles": 817866369, "engine": "bun", "operation": "plain", "rep": 3} +{"wall_ms": 217.85025, "user_us": 218814.0, "system_us": 1308.0, "rss_before": 56131584.0, "rss_after": 61784064.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62373888, "instructions": 4714125349, "cycles": 812564144, "engine": "node", "operation": "plain", "rep": 3} +{"wall_ms": 89.817708, "user_us": 88299.0, "system_us": 1522.0, "rss_before": 13336576.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1588482997, "cycles": 309542784, "engine": "perry", "operation": "plain", "rep": 3} +{"wall_ms": 90.43545800000001, "user_us": 88915.0, "system_us": 1524.0, "rss_before": 13336576.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1590205639, "cycles": 311132745, "engine": "baseline", "operation": "plain", "rep": 4} +{"wall_ms": 89.57354099999999, "user_us": 88085.0, "system_us": 1493.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1588433257, "cycles": 308460244, "engine": "perry", "operation": "plain", "rep": 4} +{"wall_ms": 235.37620800000002, "user_us": 217540.0, "system_us": 22045.0, "rss_before": 30867456.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 4997781416, "cycles": 816652674, "engine": "bun", "operation": "plain", "rep": 4} +{"wall_ms": 215.188458, "user_us": 216064.0, "system_us": 1353.0, "rss_before": 56115200.0, "rss_after": 61833216.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 4706195143, "cycles": 798131769, "engine": "node", "operation": "plain", "rep": 4} +{"wall_ms": 89.67887499999999, "user_us": 88148.0, "system_us": 1535.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1588395829, "cycles": 309220916, "engine": "perry", "operation": "plain", "rep": 5} +{"wall_ms": 235.27937500000002, "user_us": 217284.0, "system_us": 22081.0, "rss_before": 30900224.0, "rss_after": 396574720.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396984320, "instructions": 4999603331, "cycles": 815995839, "engine": "bun", "operation": "plain", "rep": 5} +{"wall_ms": 214.662834, "user_us": 215562.0, "system_us": 1344.0, "rss_before": 56082432.0, "rss_after": 61800448.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62488576, "instructions": 4706934461, "cycles": 795388872, "engine": "node", "operation": "plain", "rep": 5} +{"wall_ms": 90.57312499999999, "user_us": 88965.0, "system_us": 1611.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1590424621, "cycles": 311804039, "engine": "baseline", "operation": "plain", "rep": 5} +{"wall_ms": 90.702667, "user_us": 89089.0, "system_us": 1619.0, "rss_before": 13336576.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1590416054, "cycles": 311754584, "engine": "baseline", "operation": "plain", "rep": 6} +{"wall_ms": 214.35291700000002, "user_us": 215176.0, "system_us": 1406.0, "rss_before": 56246272.0, "rss_after": 61964288.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62603264, "instructions": 4705648017, "cycles": 793192032, "engine": "node", "operation": "plain", "rep": 6} +{"wall_ms": 89.704166, "user_us": 88079.0, "system_us": 1629.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1588495512, "cycles": 309337304, "engine": "perry", "operation": "plain", "rep": 6} +{"wall_ms": 235.15675, "user_us": 217336.0, "system_us": 21949.0, "rss_before": 30867456.0, "rss_after": 396541952.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396951552, "instructions": 4997942826, "cycles": 815459911, "engine": "bun", "operation": "plain", "rep": 6} +{"wall_ms": 871.971625, "user_us": 868990.0, "system_us": 2979.0, "rss_before": 13582336.0, "rss_after": 34947072.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35454976, "instructions": 16092889172, "cycles": 2821302851, "engine": "baseline", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 89.168542, "user_us": 87711.0, "system_us": 1462.0, "rss_before": 13320192.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1590285422, "cycles": 307526497, "engine": "perry", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 786.426958, "user_us": 766091.0, "system_us": 24849.0, "rss_before": 30883840.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14590135873, "cycles": 2587218083, "engine": "bun", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 492.989416, "user_us": 492778.0, "system_us": 2390.0, "rss_before": 56262656.0, "rss_after": 61865984.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 9960077535, "cycles": 1689996233, "engine": "node", "operation": "dynamic-zero", "rep": 0} +{"wall_ms": 871.2287079999999, "user_us": 867993.0, "system_us": 3206.0, "rss_before": 13565952.0, "rss_after": 34930688.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35438592, "instructions": 16093164826, "cycles": 2819719336, "engine": "baseline", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 494.26162500000004, "user_us": 494368.0, "system_us": 2164.0, "rss_before": 56229888.0, "rss_after": 61849600.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 9963901959, "cycles": 1697873583, "engine": "node", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 89.10625, "user_us": 87669.0, "system_us": 1441.0, "rss_before": 13320192.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1590353821, "cycles": 307329292, "engine": "perry", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 784.0055, "user_us": 763205.0, "system_us": 25473.0, "rss_before": 30916608.0, "rss_after": 396640256.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397049856, "instructions": 14594907136, "cycles": 2580025534, "engine": "bun", "operation": "dynamic-zero", "rep": 1} +{"wall_ms": 787.863, "user_us": 767091.0, "system_us": 25484.0, "rss_before": 30900224.0, "rss_after": 396623872.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397033472, "instructions": 14595838183, "cycles": 2592553045, "engine": "bun", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 872.250833, "user_us": 869055.0, "system_us": 3199.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16093283392, "cycles": 2822000078, "engine": "baseline", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 89.00125, "user_us": 87461.0, "system_us": 1544.0, "rss_before": 13336576.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590191087, "cycles": 306763244, "engine": "perry", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 493.03358299999996, "user_us": 493376.0, "system_us": 1905.0, "rss_before": 56229888.0, "rss_after": 61800448.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62390272, "instructions": 9963245062, "cycles": 1692380496, "engine": "node", "operation": "dynamic-zero", "rep": 2} +{"wall_ms": 496.73858300000006, "user_us": 496641.0, "system_us": 2355.0, "rss_before": 56328192.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62636032, "instructions": 9961582151, "cycles": 1704781083, "engine": "node", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 89.129875, "user_us": 87590.0, "system_us": 1544.0, "rss_before": 13336576.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590193322, "cycles": 307405962, "engine": "perry", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 784.6381250000001, "user_us": 765305.0, "system_us": 23877.0, "rss_before": 30883840.0, "rss_after": 396623872.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397033472, "instructions": 14591519170, "cycles": 2581190891, "engine": "bun", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 871.2928340000001, "user_us": 868286.0, "system_us": 3005.0, "rss_before": 13565952.0, "rss_after": 34947072.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35454976, "instructions": 16092966924, "cycles": 2819589195, "engine": "baseline", "operation": "dynamic-zero", "rep": 3} +{"wall_ms": 89.202083, "user_us": 87963.0, "system_us": 1243.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590252527, "cycles": 307581937, "engine": "perry", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 781.694625, "user_us": 764824.0, "system_us": 21356.0, "rss_before": 30883840.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14587205821, "cycles": 2571419151, "engine": "bun", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 493.14775, "user_us": 493489.0, "system_us": 1893.0, "rss_before": 56197120.0, "rss_after": 61833216.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 9958116443, "cycles": 1689538177, "engine": "node", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 870.488083, "user_us": 867544.0, "system_us": 2947.0, "rss_before": 13565952.0, "rss_after": 34914304.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 16092678515, "cycles": 2816632754, "engine": "baseline", "operation": "dynamic-zero", "rep": 4} +{"wall_ms": 493.218542, "user_us": 493285.0, "system_us": 2149.0, "rss_before": 56147968.0, "rss_after": 61718528.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62357504, "instructions": 9962024339, "cycles": 1694341381, "engine": "node", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 784.47375, "user_us": 764097.0, "system_us": 24886.0, "rss_before": 30883840.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14588155092, "cycles": 2581541243, "engine": "bun", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 872.4661249999999, "user_us": 869091.0, "system_us": 3381.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16093088741, "cycles": 2823383660, "engine": "baseline", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 89.110833, "user_us": 87476.0, "system_us": 1639.0, "rss_before": 13320192.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1590101469, "cycles": 307331582, "engine": "perry", "operation": "dynamic-zero", "rep": 5} +{"wall_ms": 872.822208, "user_us": 869702.0, "system_us": 3116.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16092887818, "cycles": 2823619784, "engine": "baseline", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 494.359292, "user_us": 494065.0, "system_us": 2493.0, "rss_before": 56344576.0, "rss_after": 61947904.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62619648, "instructions": 9971284647, "cycles": 1703471583, "engine": "node", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 783.498459, "user_us": 764012.0, "system_us": 24029.0, "rss_before": 30867456.0, "rss_after": 396591104.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397000704, "instructions": 14587766107, "cycles": 2578347635, "engine": "bun", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 89.290375, "user_us": 87610.0, "system_us": 1683.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1590335549, "cycles": 307506223, "engine": "perry", "operation": "dynamic-zero", "rep": 6} +{"wall_ms": 783.0583330000001, "user_us": 763227.0, "system_us": 24448.0, "rss_before": 30883840.0, "rss_after": 396591104.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397000704, "instructions": 14587560130, "cycles": 2576553437, "engine": "bun", "operation": "zero", "rep": 0} +{"wall_ms": 492.65137500000003, "user_us": 492625.0, "system_us": 2362.0, "rss_before": 56311808.0, "rss_after": 61915136.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 9968005596, "cycles": 1700670315, "engine": "node", "operation": "zero", "rep": 0} +{"wall_ms": 874.8097500000001, "user_us": 871405.0, "system_us": 3403.0, "rss_before": 13582336.0, "rss_after": 34914304.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 16090768197, "cycles": 2830438304, "engine": "baseline", "operation": "zero", "rep": 0} +{"wall_ms": 89.6355, "user_us": 88127.0, "system_us": 1512.0, "rss_before": 13320192.0, "rss_after": 34521088.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35028992, "instructions": 1588224409, "cycles": 308941794, "engine": "perry", "operation": "zero", "rep": 0} +{"wall_ms": 784.07675, "user_us": 764033.0, "system_us": 24563.0, "rss_before": 30883840.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14591410441, "cycles": 2579344055, "engine": "bun", "operation": "zero", "rep": 1} +{"wall_ms": 89.617542, "user_us": 88127.0, "system_us": 1498.0, "rss_before": 13336576.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1588150092, "cycles": 308720585, "engine": "perry", "operation": "zero", "rep": 1} +{"wall_ms": 871.5547080000001, "user_us": 868339.0, "system_us": 3219.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16090713033, "cycles": 2819474033, "engine": "baseline", "operation": "zero", "rep": 1} +{"wall_ms": 493.07475, "user_us": 493294.0, "system_us": 1988.0, "rss_before": 56115200.0, "rss_after": 61734912.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 9955997492, "cycles": 1690992831, "engine": "node", "operation": "zero", "rep": 1} +{"wall_ms": 784.605542, "user_us": 764143.0, "system_us": 25043.0, "rss_before": 30900224.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14587385256, "cycles": 2582199933, "engine": "bun", "operation": "zero", "rep": 2} +{"wall_ms": 89.825667, "user_us": 88282.0, "system_us": 1548.0, "rss_before": 13320192.0, "rss_after": 34537472.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35045376, "instructions": 1588051571, "cycles": 309447628, "engine": "perry", "operation": "zero", "rep": 2} +{"wall_ms": 491.244875, "user_us": 491341.0, "system_us": 2181.0, "rss_before": 56229888.0, "rss_after": 61865984.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 9953495613, "cycles": 1682505496, "engine": "node", "operation": "zero", "rep": 2} +{"wall_ms": 871.507125, "user_us": 868434.0, "system_us": 3054.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16090830685, "cycles": 2820034171, "engine": "baseline", "operation": "zero", "rep": 2} +{"wall_ms": 89.637958, "user_us": 88050.0, "system_us": 1591.0, "rss_before": 13320192.0, "rss_after": 34537472.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35045376, "instructions": 1588136376, "cycles": 309301371, "engine": "perry", "operation": "zero", "rep": 3} +{"wall_ms": 871.382292, "user_us": 868278.0, "system_us": 3101.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16090737010, "cycles": 2818980152, "engine": "baseline", "operation": "zero", "rep": 3} +{"wall_ms": 783.862083, "user_us": 764658.0, "system_us": 23824.0, "rss_before": 30883840.0, "rss_after": 396607488.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397017088, "instructions": 14590959597, "cycles": 2579936055, "engine": "bun", "operation": "zero", "rep": 3} +{"wall_ms": 492.12325, "user_us": 492262.0, "system_us": 2140.0, "rss_before": 56262656.0, "rss_after": 61800448.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62488576, "instructions": 9957087425, "cycles": 1689962844, "engine": "node", "operation": "zero", "rep": 3} +{"wall_ms": 784.04575, "user_us": 764017.0, "system_us": 24536.0, "rss_before": 30900224.0, "rss_after": 396640256.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397049856, "instructions": 14591273840, "cycles": 2580044692, "engine": "bun", "operation": "zero", "rep": 4} +{"wall_ms": 89.764666, "user_us": 88270.0, "system_us": 1499.0, "rss_before": 13320192.0, "rss_after": 34504704.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35012608, "instructions": 1588322948, "cycles": 309411916, "engine": "perry", "operation": "zero", "rep": 4} +{"wall_ms": 872.267375, "user_us": 868915.0, "system_us": 3343.0, "rss_before": 13565952.0, "rss_after": 34897920.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 16090976999, "cycles": 2822052040, "engine": "baseline", "operation": "zero", "rep": 4} +{"wall_ms": 491.618167, "user_us": 491797.0, "system_us": 2052.0, "rss_before": 56229888.0, "rss_after": 61816832.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 9957050169, "cycles": 1688481214, "engine": "node", "operation": "zero", "rep": 4} +{"wall_ms": 89.58591700000001, "user_us": 88067.0, "system_us": 1522.0, "rss_before": 13336576.0, "rss_after": 34553856.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35061760, "instructions": 1588100491, "cycles": 308974901, "engine": "perry", "operation": "zero", "rep": 5} +{"wall_ms": 872.13075, "user_us": 868820.0, "system_us": 3290.0, "rss_before": 13582336.0, "rss_after": 34947072.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35454976, "instructions": 16091221099, "cycles": 2821241064, "engine": "baseline", "operation": "zero", "rep": 5} +{"wall_ms": 494.536666, "user_us": 494460.0, "system_us": 2307.0, "rss_before": 56229888.0, "rss_after": 61849600.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 9957326068, "cycles": 1696923971, "engine": "node", "operation": "zero", "rep": 5} +{"wall_ms": 783.981167, "user_us": 764185.0, "system_us": 24426.0, "rss_before": 30867456.0, "rss_after": 396574720.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 396984320, "instructions": 14588665181, "cycles": 2580518187, "engine": "bun", "operation": "zero", "rep": 5} +{"wall_ms": 90.071417, "user_us": 88504.0, "system_us": 1570.0, "rss_before": 13320192.0, "rss_after": 34537472.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35045376, "instructions": 1588193750, "cycles": 310285893, "engine": "perry", "operation": "zero", "rep": 6} +{"wall_ms": 782.7150419999999, "user_us": 763238.0, "system_us": 24120.0, "rss_before": 30900224.0, "rss_after": 396640256.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 397049856, "instructions": 14590408863, "cycles": 2575429961, "engine": "bun", "operation": "zero", "rep": 6} +{"wall_ms": 872.0160000000001, "user_us": 868957.0, "system_us": 3063.0, "rss_before": 13565952.0, "rss_after": 34947072.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 35454976, "instructions": 16090933669, "cycles": 2821386450, "engine": "baseline", "operation": "zero", "rep": 6} +{"wall_ms": 492.843834, "user_us": 492689.0, "system_us": 2385.0, "rss_before": 56295424.0, "rss_after": 61816832.0, "checksum": 214535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 2000000, "warmup": 5000, "peak_rss": 62455808, "instructions": 9955617605, "cycles": 1689937980, "engine": "node", "operation": "zero", "rep": 6} +{"wall_ms": 520.528208, "user_us": 509592.0, "system_us": 15468.0, "rss_before": 31080448.0, "rss_after": 250593280.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 251002880, "instructions": 9730342093, "cycles": 1737352429, "engine": "bun", "operation": "pretty", "rep": 0} +{"wall_ms": 301.309834, "user_us": 301967.0, "system_us": 1208.0, "rss_before": 56475648.0, "rss_after": 61833216.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 6236003660, "cycles": 1075965138, "engine": "node", "operation": "pretty", "rep": 0} +{"wall_ms": 485.1245, "user_us": 482826.0, "system_us": 2302.0, "rss_before": 13746176.0, "rss_after": 34881536.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8764765055, "cycles": 1583437475, "engine": "perry", "operation": "pretty", "rep": 0} +{"wall_ms": 486.35900000000004, "user_us": 483866.0, "system_us": 2491.0, "rss_before": 13746176.0, "rss_after": 34881536.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8764887850, "cycles": 1587571864, "engine": "baseline", "operation": "pretty", "rep": 0} +{"wall_ms": 484.37025, "user_us": 482156.0, "system_us": 2218.0, "rss_before": 13729792.0, "rss_after": 34865152.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35373056, "instructions": 8764553530, "cycles": 1580679293, "engine": "perry", "operation": "pretty", "rep": 1} +{"wall_ms": 521.6767090000001, "user_us": 510612.0, "system_us": 15598.0, "rss_before": 31064064.0, "rss_after": 250576896.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 250986496, "instructions": 9730666219, "cycles": 1741672490, "engine": "bun", "operation": "pretty", "rep": 1} +{"wall_ms": 300.971333, "user_us": 301535.0, "system_us": 1353.0, "rss_before": 56442880.0, "rss_after": 61833216.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 6236727863, "cycles": 1076889380, "engine": "node", "operation": "pretty", "rep": 1} +{"wall_ms": 485.87425, "user_us": 483542.0, "system_us": 2335.0, "rss_before": 13729792.0, "rss_after": 34914304.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 8764757204, "cycles": 1585853815, "engine": "baseline", "operation": "pretty", "rep": 1} +{"wall_ms": 483.792708, "user_us": 481521.0, "system_us": 2276.0, "rss_before": 13729792.0, "rss_after": 34897920.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8764741880, "cycles": 1579256161, "engine": "perry", "operation": "pretty", "rep": 2} +{"wall_ms": 485.99199999999996, "user_us": 483655.0, "system_us": 2341.0, "rss_before": 13729792.0, "rss_after": 34881536.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8765008066, "cycles": 1585899326, "engine": "baseline", "operation": "pretty", "rep": 2} +{"wall_ms": 300.90454200000005, "user_us": 301470.0, "system_us": 1333.0, "rss_before": 56393728.0, "rss_after": 61718528.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62341120, "instructions": 6242601864, "cycles": 1081894664, "engine": "node", "operation": "pretty", "rep": 2} +{"wall_ms": 520.2362079999999, "user_us": 508953.0, "system_us": 15812.0, "rss_before": 31080448.0, "rss_after": 250593280.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 251002880, "instructions": 9728737063, "cycles": 1737180262, "engine": "bun", "operation": "pretty", "rep": 2} +{"wall_ms": 520.554792, "user_us": 509752.0, "system_us": 15286.0, "rss_before": 31064064.0, "rss_after": 250576896.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 250986496, "instructions": 9729674158, "cycles": 1738113634, "engine": "bun", "operation": "pretty", "rep": 3} +{"wall_ms": 485.37887499999994, "user_us": 483205.0, "system_us": 2181.0, "rss_before": 13729792.0, "rss_after": 34914304.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 8764672906, "cycles": 1584353760, "engine": "baseline", "operation": "pretty", "rep": 3} +{"wall_ms": 484.080083, "user_us": 481871.0, "system_us": 2212.0, "rss_before": 13729792.0, "rss_after": 34914304.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 8764607590, "cycles": 1579623828, "engine": "perry", "operation": "pretty", "rep": 3} +{"wall_ms": 302.273208, "user_us": 302518.0, "system_us": 1661.0, "rss_before": 56377344.0, "rss_after": 61784064.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 6233931454, "cycles": 1078844849, "engine": "node", "operation": "pretty", "rep": 3} +{"wall_ms": 519.75675, "user_us": 509160.0, "system_us": 15238.0, "rss_before": 31047680.0, "rss_after": 250576896.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 250986496, "instructions": 9730479671, "cycles": 1735678179, "engine": "bun", "operation": "pretty", "rep": 4} +{"wall_ms": 481.41341700000004, "user_us": 478851.0, "system_us": 2570.0, "rss_before": 13729792.0, "rss_after": 34930688.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35438592, "instructions": 8765648109, "cycles": 1571305159, "engine": "perry", "operation": "pretty", "rep": 4} +{"wall_ms": 301.873708, "user_us": 302487.0, "system_us": 1351.0, "rss_before": 56524800.0, "rss_after": 61947904.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62619648, "instructions": 6239443094, "cycles": 1082274302, "engine": "node", "operation": "pretty", "rep": 4} +{"wall_ms": 483.599417, "user_us": 481021.0, "system_us": 2583.0, "rss_before": 13729792.0, "rss_after": 34897920.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8764712903, "cycles": 1578243435, "engine": "baseline", "operation": "pretty", "rep": 4} +{"wall_ms": 484.261541, "user_us": 482139.0, "system_us": 2131.0, "rss_before": 13729792.0, "rss_after": 34881536.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8764650735, "cycles": 1580868507, "engine": "perry", "operation": "pretty", "rep": 5} +{"wall_ms": 520.435583, "user_us": 509366.0, "system_us": 15539.0, "rss_before": 31064064.0, "rss_after": 250560512.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 250970112, "instructions": 9728401521, "cycles": 1738419161, "engine": "bun", "operation": "pretty", "rep": 5} +{"wall_ms": 486.00191700000005, "user_us": 483657.0, "system_us": 2353.0, "rss_before": 13746176.0, "rss_after": 34914304.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 8765669124, "cycles": 1587456507, "engine": "baseline", "operation": "pretty", "rep": 5} +{"wall_ms": 300.940667, "user_us": 301490.0, "system_us": 1343.0, "rss_before": 56541184.0, "rss_after": 61849600.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62537728, "instructions": 6244672068, "cycles": 1083970575, "engine": "node", "operation": "pretty", "rep": 5} +{"wall_ms": 485.14516699999996, "user_us": 482887.0, "system_us": 2262.0, "rss_before": 13729792.0, "rss_after": 34914304.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35422208, "instructions": 8764940884, "cycles": 1583750075, "engine": "baseline", "operation": "pretty", "rep": 6} +{"wall_ms": 520.475958, "user_us": 508814.0, "system_us": 16069.0, "rss_before": 31096832.0, "rss_after": 250593280.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 251002880, "instructions": 9730588060, "cycles": 1737777663, "engine": "bun", "operation": "pretty", "rep": 6} +{"wall_ms": 300.83675, "user_us": 301180.0, "system_us": 1575.0, "rss_before": 56492032.0, "rss_after": 61882368.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62586880, "instructions": 6237055515, "cycles": 1078233043, "engine": "node", "operation": "pretty", "rep": 6} +{"wall_ms": 485.704625, "user_us": 483448.0, "system_us": 2261.0, "rss_before": 13729792.0, "rss_after": 34897920.0, "checksum": 145725000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8764581205, "cycles": 1585189750, "engine": "perry", "operation": "pretty", "rep": 6} +{"wall_ms": 459.44899999999996, "user_us": 456893.0, "system_us": 2560.0, "rss_before": 13352960.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8121894284, "cycles": 1500196894, "engine": "baseline", "operation": "keys", "rep": 0} +{"wall_ms": 595.992792, "user_us": 595508.0, "system_us": 3273.0, "rss_before": 57278464.0, "rss_after": 61947904.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62619648, "instructions": 11865355507, "cycles": 2029134624, "engine": "node", "operation": "keys", "rep": 0} +{"wall_ms": 460.450291, "user_us": 458102.0, "system_us": 2353.0, "rss_before": 13369344.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8123907854, "cycles": 1503241275, "engine": "perry", "operation": "keys", "rep": 0} +{"wall_ms": 479.54166599999996, "user_us": 470307.0, "system_us": 13768.0, "rss_before": 30883840.0, "rss_after": 217481216.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217890816, "instructions": 9227880379, "cycles": 1605880951, "engine": "bun", "operation": "keys", "rep": 0} +{"wall_ms": 479.60595800000004, "user_us": 470943.0, "system_us": 13198.0, "rss_before": 30867456.0, "rss_after": 217448448.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217858048, "instructions": 9228496888, "cycles": 1606488037, "engine": "bun", "operation": "keys", "rep": 1} +{"wall_ms": 459.772042, "user_us": 457415.0, "system_us": 2353.0, "rss_before": 13352960.0, "rss_after": 34865152.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35373056, "instructions": 8122135588, "cycles": 1501412993, "engine": "baseline", "operation": "keys", "rep": 1} +{"wall_ms": 460.27625, "user_us": 457961.0, "system_us": 2323.0, "rss_before": 13352960.0, "rss_after": 34865152.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35373056, "instructions": 8123734505, "cycles": 1502819871, "engine": "perry", "operation": "keys", "rep": 1} +{"wall_ms": 593.828375, "user_us": 593890.0, "system_us": 2694.0, "rss_before": 57229312.0, "rss_after": 61898752.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62521344, "instructions": 11966186473, "cycles": 2026356687, "engine": "node", "operation": "keys", "rep": 1} +{"wall_ms": 461.479, "user_us": 459216.0, "system_us": 2270.0, "rss_before": 13352960.0, "rss_after": 34848768.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35356672, "instructions": 8123730343, "cycles": 1506550017, "engine": "perry", "operation": "keys", "rep": 2} +{"wall_ms": 584.2774169999999, "user_us": 584162.0, "system_us": 2849.0, "rss_before": 57278464.0, "rss_after": 61997056.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62668800, "instructions": 11819835677, "cycles": 1993121647, "engine": "node", "operation": "keys", "rep": 2} +{"wall_ms": 484.635292, "user_us": 475762.0, "system_us": 13320.0, "rss_before": 30867456.0, "rss_after": 217464832.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217874432, "instructions": 9227601121, "cycles": 1621977153, "engine": "bun", "operation": "keys", "rep": 2} +{"wall_ms": 459.80920799999996, "user_us": 457386.0, "system_us": 2425.0, "rss_before": 13352960.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8126323844, "cycles": 1501240198, "engine": "baseline", "operation": "keys", "rep": 2} +{"wall_ms": 459.960375, "user_us": 457718.0, "system_us": 2246.0, "rss_before": 13352960.0, "rss_after": 34848768.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35356672, "instructions": 8122031703, "cycles": 1501813978, "engine": "baseline", "operation": "keys", "rep": 3} +{"wall_ms": 594.633708, "user_us": 594012.0, "system_us": 3266.0, "rss_before": 57278464.0, "rss_after": 62013440.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62717952, "instructions": 11962094245, "cycles": 2024337675, "engine": "node", "operation": "keys", "rep": 3} +{"wall_ms": 478.902375, "user_us": 470362.0, "system_us": 13048.0, "rss_before": 30867456.0, "rss_after": 217464832.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217874432, "instructions": 9227514111, "cycles": 1603799078, "engine": "bun", "operation": "keys", "rep": 3} +{"wall_ms": 460.600833, "user_us": 458115.0, "system_us": 2436.0, "rss_before": 13352960.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8123818748, "cycles": 1503836657, "engine": "perry", "operation": "keys", "rep": 3} +{"wall_ms": 459.94404199999997, "user_us": 457796.0, "system_us": 2151.0, "rss_before": 13352960.0, "rss_after": 34881536.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8123848475, "cycles": 1502352866, "engine": "perry", "operation": "keys", "rep": 4} +{"wall_ms": 606.53625, "user_us": 606222.0, "system_us": 3088.0, "rss_before": 57147392.0, "rss_after": 61882368.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62603264, "instructions": 11943307251, "cycles": 2062777476, "engine": "node", "operation": "keys", "rep": 4} +{"wall_ms": 479.672917, "user_us": 471058.0, "system_us": 13086.0, "rss_before": 30867456.0, "rss_after": 217432064.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217841664, "instructions": 9227367294, "cycles": 1606170821, "engine": "bun", "operation": "keys", "rep": 4} +{"wall_ms": 459.744416, "user_us": 457181.0, "system_us": 2567.0, "rss_before": 13352960.0, "rss_after": 34865152.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35373056, "instructions": 8121981197, "cycles": 1501373505, "engine": "baseline", "operation": "keys", "rep": 4} +{"wall_ms": 458.58545799999996, "user_us": 456357.0, "system_us": 2232.0, "rss_before": 13352960.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8121900218, "cycles": 1497829661, "engine": "baseline", "operation": "keys", "rep": 5} +{"wall_ms": 597.098916, "user_us": 596901.0, "system_us": 2890.0, "rss_before": 57114624.0, "rss_after": 61833216.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62504960, "instructions": 11819178142, "cycles": 2032504840, "engine": "node", "operation": "keys", "rep": 5} +{"wall_ms": 480.36641699999996, "user_us": 471135.0, "system_us": 13578.0, "rss_before": 30867456.0, "rss_after": 217448448.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217858048, "instructions": 9227322323, "cycles": 1608165097, "engine": "bun", "operation": "keys", "rep": 5} +{"wall_ms": 460.655625, "user_us": 458134.0, "system_us": 2525.0, "rss_before": 13369344.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8124026601, "cycles": 1504575635, "engine": "perry", "operation": "keys", "rep": 5} +{"wall_ms": 584.54075, "user_us": 584112.0, "system_us": 3100.0, "rss_before": 57229312.0, "rss_after": 61947904.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 62636032, "instructions": 11817971091, "cycles": 1992014688, "engine": "node", "operation": "keys", "rep": 6} +{"wall_ms": 458.923, "user_us": 456757.0, "system_us": 2139.0, "rss_before": 13369344.0, "rss_after": 34897920.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35405824, "instructions": 8122581214, "cycles": 1498918599, "engine": "baseline", "operation": "keys", "rep": 6} +{"wall_ms": 462.47945899999996, "user_us": 460417.0, "system_us": 2068.0, "rss_before": 13352960.0, "rss_after": 34881536.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 35389440, "instructions": 8123847301, "cycles": 1510457706, "engine": "perry", "operation": "keys", "rep": 6} +{"wall_ms": 478.77325, "user_us": 470523.0, "system_us": 12681.0, "rss_before": 30867456.0, "rss_after": 217464832.0, "checksum": 107535000.0, "retained": 0.0, "fixture": "small_record", "iterations": 1000000, "warmup": 5000, "peak_rss": 217874432, "instructions": 9229077617, "cycles": 1603090893, "engine": "bun", "operation": "keys", "rep": 6} +{"wall_ms": 188.989917, "user_us": 187333.0, "system_us": 1661.0, "rss_before": 14303232.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633688781, "cycles": 640891469, "engine": "perry", "operation": "callback", "rep": 0} +{"wall_ms": 111.789042, "user_us": 111951.0, "system_us": 4246.0, "rss_before": 35422208.0, "rss_after": 102088704.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102498304, "instructions": 2330753359, "cycles": 430335012, "engine": "bun", "operation": "callback", "rep": 0} +{"wall_ms": 119.27700000000002, "user_us": 120082.0, "system_us": 499.0, "rss_before": 59998208.0, "rss_after": 61865984.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62570496, "instructions": 2614282568, "cycles": 500045822, "engine": "node", "operation": "callback", "rep": 0} +{"wall_ms": 189.86937500000002, "user_us": 188267.0, "system_us": 1608.0, "rss_before": 14303232.0, "rss_after": 33603584.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34095104, "instructions": 3633162154, "cycles": 643691772, "engine": "baseline", "operation": "callback", "rep": 0} +{"wall_ms": 120.25274999999999, "user_us": 121119.0, "system_us": 447.0, "rss_before": 59998208.0, "rss_after": 61865984.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62554112, "instructions": 2612871231, "cycles": 499287062, "engine": "node", "operation": "callback", "rep": 1} +{"wall_ms": 189.341125, "user_us": 187765.0, "system_us": 1579.0, "rss_before": 14286848.0, "rss_after": 33554432.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34045952, "instructions": 3633240626, "cycles": 641402130, "engine": "baseline", "operation": "callback", "rep": 1} +{"wall_ms": 112.27775, "user_us": 112176.0, "system_us": 4471.0, "rss_before": 35422208.0, "rss_after": 102006784.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102416384, "instructions": 2328831932, "cycles": 432032759, "engine": "bun", "operation": "callback", "rep": 1} +{"wall_ms": 189.530375, "user_us": 187611.0, "system_us": 1924.0, "rss_before": 14303232.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633772368, "cycles": 642674781, "engine": "perry", "operation": "callback", "rep": 1} +{"wall_ms": 112.02149999999999, "user_us": 112155.0, "system_us": 4372.0, "rss_before": 35422208.0, "rss_after": 102023168.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102432768, "instructions": 2332728860, "cycles": 431032064, "engine": "bun", "operation": "callback", "rep": 2} +{"wall_ms": 189.015334, "user_us": 187436.0, "system_us": 1584.0, "rss_before": 14286848.0, "rss_after": 33603584.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34095104, "instructions": 3633602760, "cycles": 640705685, "engine": "perry", "operation": "callback", "rep": 2} +{"wall_ms": 189.25, "user_us": 187613.0, "system_us": 1642.0, "rss_before": 14286848.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633225139, "cycles": 641744401, "engine": "baseline", "operation": "callback", "rep": 2} +{"wall_ms": 119.637, "user_us": 120591.0, "system_us": 378.0, "rss_before": 60063744.0, "rss_after": 61915136.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62619648, "instructions": 2614683604, "cycles": 499606151, "engine": "node", "operation": "callback", "rep": 2} +{"wall_ms": 120.718583, "user_us": 121504.0, "system_us": 482.0, "rss_before": 59850752.0, "rss_after": 61718528.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62357504, "instructions": 2614421030, "cycles": 501490230, "engine": "node", "operation": "callback", "rep": 3} +{"wall_ms": 189.44470800000002, "user_us": 187681.0, "system_us": 1767.0, "rss_before": 14286848.0, "rss_after": 33603584.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34095104, "instructions": 3633685775, "cycles": 642328933, "engine": "perry", "operation": "callback", "rep": 3} +{"wall_ms": 111.9265, "user_us": 111978.0, "system_us": 4411.0, "rss_before": 35389440.0, "rss_after": 102023168.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102432768, "instructions": 2329367785, "cycles": 430261162, "engine": "bun", "operation": "callback", "rep": 3} +{"wall_ms": 188.902667, "user_us": 187261.0, "system_us": 1645.0, "rss_before": 14286848.0, "rss_after": 33603584.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34095104, "instructions": 3633295413, "cycles": 640533436, "engine": "baseline", "operation": "callback", "rep": 3} +{"wall_ms": 189.178916, "user_us": 187510.0, "system_us": 1672.0, "rss_before": 14303232.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633348269, "cycles": 641346124, "engine": "baseline", "operation": "callback", "rep": 4} +{"wall_ms": 119.161084, "user_us": 120031.0, "system_us": 448.0, "rss_before": 59867136.0, "rss_after": 61718528.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62357504, "instructions": 2615572361, "cycles": 501061423, "engine": "node", "operation": "callback", "rep": 4} +{"wall_ms": 112.572667, "user_us": 112834.0, "system_us": 4234.0, "rss_before": 35405824.0, "rss_after": 102072320.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102481920, "instructions": 2334141197, "cycles": 433177109, "engine": "bun", "operation": "callback", "rep": 4} +{"wall_ms": 189.743958, "user_us": 187949.0, "system_us": 1800.0, "rss_before": 14303232.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633766022, "cycles": 643294461, "engine": "perry", "operation": "callback", "rep": 4} +{"wall_ms": 118.64658299999999, "user_us": 119586.0, "system_us": 389.0, "rss_before": 59981824.0, "rss_after": 61849600.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62554112, "instructions": 2613222162, "cycles": 496913874, "engine": "node", "operation": "callback", "rep": 5} +{"wall_ms": 189.41025000000002, "user_us": 187734.0, "system_us": 1685.0, "rss_before": 14286848.0, "rss_after": 33603584.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34095104, "instructions": 3633165992, "cycles": 642307327, "engine": "perry", "operation": "callback", "rep": 5} +{"wall_ms": 112.422583, "user_us": 112445.0, "system_us": 4402.0, "rss_before": 35389440.0, "rss_after": 102006784.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102416384, "instructions": 2332310572, "cycles": 432245372, "engine": "bun", "operation": "callback", "rep": 5} +{"wall_ms": 189.175166, "user_us": 187477.0, "system_us": 1693.0, "rss_before": 14286848.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633368741, "cycles": 641319657, "engine": "baseline", "operation": "callback", "rep": 5} +{"wall_ms": 189.10625, "user_us": 187197.0, "system_us": 1913.0, "rss_before": 14286848.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633261723, "cycles": 641035055, "engine": "baseline", "operation": "callback", "rep": 6} +{"wall_ms": 111.9175, "user_us": 112048.0, "system_us": 4377.0, "rss_before": 35422208.0, "rss_after": 102088704.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 102498304, "instructions": 2332499887, "cycles": 430894169, "engine": "bun", "operation": "callback", "rep": 6} +{"wall_ms": 189.292708, "user_us": 187627.0, "system_us": 1670.0, "rss_before": 14303232.0, "rss_after": 33570816.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 34062336, "instructions": 3633678409, "cycles": 641438451, "engine": "perry", "operation": "callback", "rep": 6} +{"wall_ms": 119.01, "user_us": 119877.0, "system_us": 442.0, "rss_before": 60063744.0, "rss_after": 61915136.0, "checksum": 21935000.0, "retained": 0.0, "fixture": "small_record", "iterations": 200000, "warmup": 5000, "peak_rss": 62619648, "instructions": 2612613200, "cycles": 498177802, "engine": "node", "operation": "callback", "rep": 6} +{"wall_ms": 46.038792, "user_us": 44749.0, "system_us": 1294.0, "rss_before": 13090816.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905550662, "cycles": 168621920, "engine": "baseline", "operation": "pretty", "rep": 0} +{"wall_ms": 46.288292000000006, "user_us": 44960.0, "system_us": 1332.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905553009, "cycles": 169330008, "engine": "perry", "operation": "pretty", "rep": 0} +{"wall_ms": 45.736334, "user_us": 44478.0, "system_us": 1378.0, "rss_before": 30212096.0, "rss_after": 51740672.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52133888, "instructions": 967769051, "cycles": 195792926, "engine": "bun", "operation": "pretty", "rep": 0} +{"wall_ms": 32.91325, "user_us": 33222.0, "system_us": 432.0, "rss_before": 55230464.0, "rss_after": 59064320.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59834368, "instructions": 863424228, "cycles": 207084332, "engine": "node", "operation": "pretty", "rep": 0} +{"wall_ms": 32.24025, "user_us": 32568.0, "system_us": 422.0, "rss_before": 55246848.0, "rss_after": 59064320.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59850752, "instructions": 862269246, "cycles": 204398805, "engine": "node", "operation": "pretty", "rep": 1} +{"wall_ms": 45.676125, "user_us": 44439.0, "system_us": 1365.0, "rss_before": 30212096.0, "rss_after": 51740672.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52133888, "instructions": 967474808, "cycles": 196269099, "engine": "bun", "operation": "pretty", "rep": 1} +{"wall_ms": 46.043292, "user_us": 44655.0, "system_us": 1391.0, "rss_before": 13090816.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905719045, "cycles": 169048551, "engine": "perry", "operation": "pretty", "rep": 1} +{"wall_ms": 46.016749999999995, "user_us": 44752.0, "system_us": 1268.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905618424, "cycles": 168613755, "engine": "baseline", "operation": "pretty", "rep": 1} +{"wall_ms": 46.111834, "user_us": 44807.0, "system_us": 1308.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905627321, "cycles": 168788681, "engine": "perry", "operation": "pretty", "rep": 2} +{"wall_ms": 33.058625000000006, "user_us": 33357.0, "system_us": 460.0, "rss_before": 55181312.0, "rss_after": 58982400.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59817984, "instructions": 862417975, "cycles": 206976975, "engine": "node", "operation": "pretty", "rep": 2} +{"wall_ms": 46.433292, "user_us": 45011.0, "system_us": 1426.0, "rss_before": 13090816.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905607495, "cycles": 169666197, "engine": "baseline", "operation": "pretty", "rep": 2} +{"wall_ms": 45.54075, "user_us": 44333.0, "system_us": 1333.0, "rss_before": 30228480.0, "rss_after": 51757056.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52150272, "instructions": 967427127, "cycles": 195622581, "engine": "bun", "operation": "pretty", "rep": 2} +{"wall_ms": 46.312042, "user_us": 44931.0, "system_us": 1385.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905618249, "cycles": 169698505, "engine": "perry", "operation": "pretty", "rep": 3} +{"wall_ms": 32.638292, "user_us": 32945.0, "system_us": 444.0, "rss_before": 55312384.0, "rss_after": 59129856.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59899904, "instructions": 861952921, "cycles": 204799685, "engine": "node", "operation": "pretty", "rep": 3} +{"wall_ms": 46.120957999999995, "user_us": 44838.0, "system_us": 1286.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905606593, "cycles": 168992351, "engine": "baseline", "operation": "pretty", "rep": 3} +{"wall_ms": 45.771709, "user_us": 44443.0, "system_us": 1453.0, "rss_before": 30162944.0, "rss_after": 51691520.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52084736, "instructions": 967514648, "cycles": 196124183, "engine": "bun", "operation": "pretty", "rep": 3} +{"wall_ms": 46.367667, "user_us": 44950.0, "system_us": 1420.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905574001, "cycles": 169768336, "engine": "perry", "operation": "pretty", "rep": 4} +{"wall_ms": 46.205416, "user_us": 44815.0, "system_us": 1524.0, "rss_before": 30195712.0, "rss_after": 51724288.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52117504, "instructions": 967592294, "cycles": 197905796, "engine": "bun", "operation": "pretty", "rep": 4} +{"wall_ms": 46.25220899999999, "user_us": 44888.0, "system_us": 1368.0, "rss_before": 13074432.0, "rss_after": 35586048.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36765696, "instructions": 905667648, "cycles": 169627021, "engine": "baseline", "operation": "pretty", "rep": 4} +{"wall_ms": 32.875084, "user_us": 33197.0, "system_us": 444.0, "rss_before": 55181312.0, "rss_after": 59015168.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59801600, "instructions": 860356962, "cycles": 205258410, "engine": "node", "operation": "pretty", "rep": 4} +{"wall_ms": 46.34208400000001, "user_us": 44923.0, "system_us": 1424.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905632435, "cycles": 169755147, "engine": "perry", "operation": "pretty", "rep": 5} +{"wall_ms": 45.924375, "user_us": 44477.0, "system_us": 1573.0, "rss_before": 30212096.0, "rss_after": 51740672.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52133888, "instructions": 967872796, "cycles": 196760705, "engine": "bun", "operation": "pretty", "rep": 5} +{"wall_ms": 46.114458000000006, "user_us": 44782.0, "system_us": 1336.0, "rss_before": 13074432.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905543619, "cycles": 168808982, "engine": "baseline", "operation": "pretty", "rep": 5} +{"wall_ms": 32.41125, "user_us": 32712.0, "system_us": 461.0, "rss_before": 55181312.0, "rss_after": 58949632.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59736064, "instructions": 859114962, "cycles": 202963952, "engine": "node", "operation": "pretty", "rep": 5} +{"wall_ms": 45.688625, "user_us": 44427.0, "system_us": 1387.0, "rss_before": 30212096.0, "rss_after": 51740672.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 52133888, "instructions": 967621309, "cycles": 196358963, "engine": "bun", "operation": "pretty", "rep": 6} +{"wall_ms": 46.167417, "user_us": 44788.0, "system_us": 1384.0, "rss_before": 13090816.0, "rss_after": 35602432.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36782080, "instructions": 905584954, "cycles": 169201473, "engine": "perry", "operation": "pretty", "rep": 6} +{"wall_ms": 32.438541, "user_us": 32745.0, "system_us": 442.0, "rss_before": 55148544.0, "rss_after": 58949632.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 59719680, "instructions": 864784405, "cycles": 206974617, "engine": "node", "operation": "pretty", "rep": 6} +{"wall_ms": 46.294542, "user_us": 44948.0, "system_us": 1349.0, "rss_before": 13074432.0, "rss_after": 35586048.0, "checksum": 20561184.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 1000, "warmup": 8, "peak_rss": 36765696, "instructions": 905665950, "cycles": 169306675, "engine": "baseline", "operation": "pretty", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/verify.jsonl new file mode 100644 index 0000000000..bb5f2b71e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/verify.jsonl @@ -0,0 +1,35 @@ +{"wall_ms": 0.0034589999999994347, "user_us": 341.0, "system_us": 35.0, "rss_before": 54853632.0, "rss_after": 55345152.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56115200, "instructions": 292793301, "cycles": 100985905, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "plain", "case_iterations": 2000000} +{"wall_ms": 0.0012499999999953104, "user_us": 6.0, "system_us": 22.0, "rss_before": 12632064.0, "rss_after": 12648448.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 75590802, "cycles": 43349841, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.001833999999998781, "user_us": 12.0, "system_us": 41.0, "rss_before": 12632064.0, "rss_after": 12648448.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 75625585, "cycles": 42025108, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.003667000000000087, "user_us": 344.0, "system_us": 32.0, "rss_before": 55066624.0, "rss_after": 55508992.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 292977384, "cycles": 102001939, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0016660000000001673, "user_us": 3.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137292417, "cycles": 48251011, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "plain", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004459000000000657, "user_us": 321.0, "system_us": 34.0, "rss_before": 55066624.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 292200395, "cycles": 99956584, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "dynamic-zero", "case_iterations": 2000000} +{"wall_ms": 0.00041599999999997195, "user_us": 3.0, "system_us": 1.0, "rss_before": 12632064.0, "rss_after": 12648448.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 62541702, "cycles": 19108062, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "dynamic-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0035840000000000316, "user_us": 6.0, "system_us": 1.0, "rss_before": 12730368.0, "rss_after": 12746752.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13860864, "instructions": 63234711, "cycles": 19433790, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "dynamic-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004542000000000712, "user_us": 323.0, "system_us": 30.0, "rss_before": 55001088.0, "rss_after": 55476224.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 292258046, "cycles": 100176026, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "dynamic-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.003959000000000046, "user_us": 5.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137665519, "cycles": 47889752, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "dynamic-zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.004541999999998936, "user_us": 323.0, "system_us": 34.0, "rss_before": 54951936.0, "rss_after": 55492608.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 291075275, "cycles": 99172612, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "zero", "case_iterations": 2000000} +{"wall_ms": 0.00041599999999997195, "user_us": 2.0, "system_us": 1.0, "rss_before": 12648448.0, "rss_after": 12664832.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13778944, "instructions": 62567662, "cycles": 19351272, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0035840000000000316, "user_us": 5.0, "system_us": 1.0, "rss_before": 12730368.0, "rss_after": 12746752.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13860864, "instructions": 62759565, "cycles": 19327114, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.0045000000000001705, "user_us": 319.0, "system_us": 28.0, "rss_before": 55050240.0, "rss_after": 55492608.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 290531306, "cycles": 98937141, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.003916999999999504, "user_us": 5.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 136895692, "cycles": 47922472, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "zero", "case_iterations": 2000000, "correct": true} +{"wall_ms": 0.005250000000000199, "user_us": 326.0, "system_us": 35.0, "rss_before": 54984704.0, "rss_after": 55525376.0, "checksum": 2175.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 288949472, "cycles": 98652163, "verify_sha256": "ab5e349b988e8a08c6505bda17bfcdce23a14a1a49f362dcc2a30f4b0f97d3e5", "engine": "node", "operation": "pretty", "case_iterations": 1000000} +{"wall_ms": 0.003833999999999893, "user_us": 6.0, "system_us": 2.0, "rss_before": 12681216.0, "rss_after": 12697600.0, "checksum": 2175.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13811712, "instructions": 62790556, "cycles": 19583215, "verify_sha256": "ab5e349b988e8a08c6505bda17bfcdce23a14a1a49f362dcc2a30f4b0f97d3e5", "engine": "perry", "operation": "pretty", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.004042000000000101, "user_us": 5.0, "system_us": 1.0, "rss_before": 12681216.0, "rss_after": 12697600.0, "checksum": 2175.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13811712, "instructions": 62715955, "cycles": 19180531, "verify_sha256": "ab5e349b988e8a08c6505bda17bfcdce23a14a1a49f362dcc2a30f4b0f97d3e5", "engine": "baseline", "operation": "pretty", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.0051250000000013785, "user_us": 325.0, "system_us": 37.0, "rss_before": 54919168.0, "rss_after": 55427072.0, "checksum": 2175.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 290080093, "cycles": 98612707, "verify_sha256": "ab5e349b988e8a08c6505bda17bfcdce23a14a1a49f362dcc2a30f4b0f97d3e5", "engine": "node", "operation": "pretty", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.005250000000000199, "user_us": 6.0, "system_us": 2.0, "rss_before": 29753344.0, "rss_after": 29786112.0, "checksum": 2175.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30195712, "instructions": 137548761, "cycles": 48399819, "verify_sha256": "ab5e349b988e8a08c6505bda17bfcdce23a14a1a49f362dcc2a30f4b0f97d3e5", "engine": "bun", "operation": "pretty", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.009541999999999717, "user_us": 329.0, "system_us": 34.0, "rss_before": 55001088.0, "rss_after": 55492608.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 291169276, "cycles": 100010062, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "keys", "case_iterations": 1000000} +{"wall_ms": 0.0037090000000001844, "user_us": 5.0, "system_us": 2.0, "rss_before": 12664832.0, "rss_after": 12681216.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13795328, "instructions": 62653051, "cycles": 19508858, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "keys", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.003667000000000087, "user_us": 5.0, "system_us": 2.0, "rss_before": 12681216.0, "rss_after": 12697600.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13811712, "instructions": 62635622, "cycles": 19024976, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "keys", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.009499999999999176, "user_us": 325.0, "system_us": 34.0, "rss_before": 55050240.0, "rss_after": 55574528.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 290088274, "cycles": 98321750, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "keys", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.0047909999999991015, "user_us": 6.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29720576.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30113792, "instructions": 136757503, "cycles": 48118983, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "keys", "case_iterations": 1000000, "correct": true} +{"wall_ms": 0.008290999999999826, "user_us": 325.0, "system_us": 34.0, "rss_before": 54951936.0, "rss_after": 55427072.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 289873832, "cycles": 98525836, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "callback", "case_iterations": 200000} +{"wall_ms": 0.007041000000000075, "user_us": 9.0, "system_us": 1.0, "rss_before": 12763136.0, "rss_after": 12779520.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13877248, "instructions": 62926515, "cycles": 19520585, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "callback", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.007582999999999451, "user_us": 10.0, "system_us": 2.0, "rss_before": 12763136.0, "rss_after": 12779520.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13877248, "instructions": 62927187, "cycles": 19293449, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "callback", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.008167000000000257, "user_us": 329.0, "system_us": 47.0, "rss_before": 54853632.0, "rss_after": 55377920.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56213504, "instructions": 292893360, "cycles": 100900720, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "callback", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.012916999999999845, "user_us": 14.0, "system_us": 4.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 0.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137194370, "cycles": 47809136, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "callback", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.24029099999999914, "user_us": 692.0, "system_us": 47.0, "rss_before": 55181312.0, "rss_after": 55803904.0, "checksum": 305970.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57360384, "instructions": 301827339, "cycles": 102421906, "verify_sha256": "e184cee0bddab133fb51491fc0c167de1cdb0776f5e438a2113d9367df33abf5", "engine": "node", "operation": "pretty", "case_iterations": 1000} +{"wall_ms": 0.32183400000000084, "user_us": 321.0, "system_us": 8.0, "rss_before": 13074432.0, "rss_after": 13238272.0, "checksum": 305970.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14417920, "instructions": 76095632, "cycles": 22003612, "verify_sha256": "e184cee0bddab133fb51491fc0c167de1cdb0776f5e438a2113d9367df33abf5", "engine": "perry", "operation": "pretty", "case_iterations": 1000, "correct": true} +{"wall_ms": 0.3222499999999995, "user_us": 316.0, "system_us": 10.0, "rss_before": 13090816.0, "rss_after": 13254656.0, "checksum": 305970.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 14434304, "instructions": 75987738, "cycles": 21781752, "verify_sha256": "e184cee0bddab133fb51491fc0c167de1cdb0776f5e438a2113d9367df33abf5", "engine": "baseline", "operation": "pretty", "case_iterations": 1000, "correct": true} +{"wall_ms": 0.2404590000000013, "user_us": 649.0, "system_us": 46.0, "rss_before": 55164928.0, "rss_after": 55836672.0, "checksum": 305970.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 57376768, "instructions": 307572468, "cycles": 106625107, "verify_sha256": "e184cee0bddab133fb51491fc0c167de1cdb0776f5e438a2113d9367df33abf5", "engine": "node", "operation": "pretty", "case_iterations": 1000, "correct": true} +{"wall_ms": 0.3276249999999994, "user_us": 316.0, "system_us": 14.0, "rss_before": 30277632.0, "rss_after": 30539776.0, "checksum": 305970.0, "retained": 0.0, "fixture": "records_array_16k", "iterations": 7, "warmup": 8, "peak_rss": 30932992, "instructions": 150518075, "cycles": 50731211, "verify_sha256": "e184cee0bddab133fb51491fc0c167de1cdb0776f5e438a2113d9367df33abf5", "engine": "bun", "operation": "pretty", "case_iterations": 1000, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/window.json new file mode 100644 index 0000000000..c96b56619d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/window.json @@ -0,0 +1,32 @@ +{ + "owner": "json-perf-4486-1789115153", + "load_before": [ + 1.9365234375, + 1.6083984375, + 1.49072265625 + ], + "started_utc": "2026-09-11T08:25:53Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-options.py", + "--worker", + ".work/zero-spacing-r25/candidate-options", + "--baseline-worker", + ".work/zero-spacing-r25/main-options", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-options" + ], + "competing_workloads_before": [], + "load_after": [ + 2.02197265625, + 1.69580078125, + 1.53125 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:27:08Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-options/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller.log new file mode 100644 index 0000000000..cd63ec2b96 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller.log @@ -0,0 +1,36 @@ +FINISHED tiny_object retain-parse 1 +FINISHED tiny_object retain-parse 200000 +FINISHED tiny_object retain-stringify 1 +FINISHED tiny_object retain-stringify 200000 +FINISHED small_record retain-parse 1 +FINISHED small_record retain-parse 100000 +FINISHED small_record retain-stringify 1 +FINISHED small_record retain-stringify 100000 +FINISHED records_array_1m retain-parse 1 +FINISHED records_array_1m retain-parse 16 +FINISHED records_array_1m retain-stringify 1 +FINISHED records_array_1m retain-stringify 16 +FINISHED records_object_1m retain-parse 1 +FINISHED records_object_1m retain-parse 16 +FINISHED records_object_1m retain-stringify 1 +FINISHED records_object_1m retain-stringify 16 +FINISHED records_array_8m retain-parse 1 +FINISHED records_array_8m retain-parse 4 +FINISHED records_array_8m retain-stringify 1 +FINISHED records_array_8m retain-stringify 4 +FINISHED records_object_8m retain-parse 1 +FINISHED records_object_8m retain-parse 4 +FINISHED records_object_8m retain-stringify 1 +FINISHED records_object_8m retain-stringify 4 +FINISHED long_string_1m retain-parse 1 +FINISHED long_string_1m retain-parse 32 +FINISHED long_string_1m retain-stringify 1 +FINISHED long_string_1m retain-stringify 32 +FINISHED unicode_1m retain-parse 1 +FINISHED unicode_1m retain-parse 32 +FINISHED unicode_1m retain-stringify 1 +FINISHED unicode_1m retain-stringify 32 +FINISHED wide_1m retain-parse 1 +FINISHED wide_1m retain-parse 16 +FINISHED wide_1m retain-stringify 1 +FINISHED wide_1m retain-stringify 16 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/host.json new file mode 100644 index 0000000000..e44d7eeed5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/host.json @@ -0,0 +1,282 @@ +{ + "started_utc": "2026-09-11T08:46:18Z", + "load_before": [ + 1.49072265625, + 1.84130859375, + 1.7587890625 + ], + "cases": [ + [ + "tiny_object", + "retain-parse", + 1, + 0, + 7 + ], + [ + "tiny_object", + "retain-parse", + 200000, + 0, + 7 + ], + [ + "tiny_object", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "tiny_object", + "retain-stringify", + 200000, + 0, + 7 + ], + [ + "small_record", + "retain-parse", + 1, + 0, + 7 + ], + [ + "small_record", + "retain-parse", + 100000, + 0, + 7 + ], + [ + "small_record", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "small_record", + "retain-stringify", + 100000, + 0, + 7 + ], + [ + "records_array_1m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "records_array_1m", + "retain-parse", + 16, + 0, + 7 + ], + [ + "records_array_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "records_array_1m", + "retain-stringify", + 16, + 0, + 7 + ], + [ + "records_object_1m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "records_object_1m", + "retain-parse", + 16, + 0, + 7 + ], + [ + "records_object_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "records_object_1m", + "retain-stringify", + 16, + 0, + 7 + ], + [ + "records_array_8m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "records_array_8m", + "retain-parse", + 4, + 0, + 7 + ], + [ + "records_array_8m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "records_array_8m", + "retain-stringify", + 4, + 0, + 7 + ], + [ + "records_object_8m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "records_object_8m", + "retain-parse", + 4, + 0, + 7 + ], + [ + "records_object_8m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "records_object_8m", + "retain-stringify", + 4, + 0, + 7 + ], + [ + "long_string_1m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "long_string_1m", + "retain-parse", + 32, + 0, + 7 + ], + [ + "long_string_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "long_string_1m", + "retain-stringify", + 32, + 0, + 7 + ], + [ + "unicode_1m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "unicode_1m", + "retain-parse", + 32, + 0, + 7 + ], + [ + "unicode_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "unicode_1m", + "retain-stringify", + 32, + 0, + 7 + ], + [ + "wide_1m", + "retain-parse", + 1, + 0, + 7 + ], + [ + "wide_1m", + "retain-parse", + 16, + 0, + 7 + ], + [ + "wide_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "wide_1m", + "retain-stringify", + 16, + 0, + 7 + ] + ], + "workers": { + "perry": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "baseline": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:47:18Z", + "load_after": [ + 1.8466796875, + 1.8818359375, + 1.7763671875 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/measure-supplement.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/measure-supplement.py new file mode 100644 index 0000000000..24b74aed95 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/measure-supplement.py @@ -0,0 +1,43 @@ +from pathlib import Path +import argparse, json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +p = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +parser = argparse.ArgumentParser() +parser.add_argument('phase', choices=['access', 'focus', 'options', 'rotating', 'retained']) +kind = parser.parse_args().phase +worker = {'access': 'access-worker', 'rotating': 'rotating-worker', 'options': 'options'}.get(kind, 'worker') +cmd = ['python3', p + 'run-' + kind + '.py', '--worker', p + 'candidate-' + worker, + '--baseline-worker', p + 'main-' + worker, '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +if kind == 'focus': + cases = ['records_array_16k:scan:4000:8:7', 'records_array_1m:scan:200:2:7', + 'records_array_8m:scan:32:1:7', 'records_array_20m:scan:16:1:7', + 'records_array_20m:roundtrip:8:1:7', 'records_array_1m:parse:200:8:7', + 'records_array_1m:stringify:256:8:7', 'small_record:parse:2000000:5000:7', + 'small_record:stringify:10000000:5000:7', 'long_string_1m:stringify:4096:8:7', + 'null:stringify:20000000:5000:7', 'string_a:stringify:20000000:5000:7', + 'empty_object:stringify:10000000:5000:7', 'tiny_object:stringify:10000000:5000:7', + 'object_1k:stringify:2000000:5000:7'] + for case in cases: + cmd += ['--case', case] +elif kind == 'rotating': + cmd += ['--filter', 'unicode_1m,long_string_1m,escaped_1m,small_record,records_array_1m', + '--repeat', '7', '--source-commit', json.loads((w / 'provenance.json').read_text())['source_commit']] +slug = 'quiet-' + w.name + '-' + kind +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +command_file = w / ('remote-' + kind + '-command.json') +log_file = w / ('remote-' + kind + '.log') +command_file.write_text(json.dumps(invocation, indent=2) + '\n') +with log_file.open('wb') as log: + result = subprocess.run(['ssh', 'perry@perry-macos.local', 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], + stdout=log, stderr=subprocess.STDOUT) +print(log_file.read_text(), flush=True) +# Preserve every terminal window before any other remote operation, including failures. +subprocess.run(['python3', str(w / 'archive-results.py'), slug, kind, '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for source in [command_file, log_file, w / 'remote-stage-hashes.json', Path(__file__)]: + shutil.copy2(source, d / source.name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/memory.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/memory.jsonl new file mode 100644 index 0000000000..1ef60bc4e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/memory.jsonl @@ -0,0 +1,1008 @@ +{"wall_ms": 0.028082999999999636, "user_us": 21.0, "system_us": 11.0, "rss_before": 12173312.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62581427, "cycles": 19362623, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.009375000000000355, "user_us": 6.0, "system_us": 7.0, "rss_before": 29622272.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137274982, "cycles": 48096991, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.0274589999999999, "user_us": 21.0, "system_us": 10.0, "rss_before": 12206080.0, "rss_after": 12517376.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13647872, "instructions": 62672240, "cycles": 19320601, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.024542000000000286, "user_us": 329.0, "system_us": 52.0, "rss_before": 54820864.0, "rss_after": 55476224.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 291900476, "cycles": 100020994, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.02791699999999997, "user_us": 21.0, "system_us": 10.0, "rss_before": 12206080.0, "rss_after": 12517376.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13647872, "instructions": 62627593, "cycles": 19324018, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.02854100000000015, "user_us": 22.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62563295, "cycles": 19225780, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.006333999999998952, "user_us": 6.0, "system_us": 3.0, "rss_before": 29622272.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137299377, "cycles": 48117418, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.024250000000000327, "user_us": 328.0, "system_us": 52.0, "rss_before": 54755328.0, "rss_after": 55427072.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56213504, "instructions": 293348790, "cycles": 100568930, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.02920899999999982, "user_us": 22.0, "system_us": 11.0, "rss_before": 12173312.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62750414, "cycles": 19461147, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.029290999999999734, "user_us": 21.0, "system_us": 11.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62563354, "cycles": 19188781, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.02845899999999979, "user_us": 343.0, "system_us": 54.0, "rss_before": 54788096.0, "rss_after": 55377920.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56197120, "instructions": 288373533, "cycles": 97854507, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.006375000000000242, "user_us": 6.0, "system_us": 6.0, "rss_before": 29605888.0, "rss_after": 29687808.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137824749, "cycles": 49119388, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.029916000000000054, "user_us": 22.0, "system_us": 12.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62570324, "cycles": 19848193, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.0061669999999995895, "user_us": 5.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29687808.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30081024, "instructions": 137499821, "cycles": 48613154, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.023749999999999716, "user_us": 325.0, "system_us": 58.0, "rss_before": 54820864.0, "rss_after": 55476224.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 292489885, "cycles": 100632513, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.02758399999999961, "user_us": 20.0, "system_us": 10.0, "rss_before": 12173312.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62577459, "cycles": 19570651, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.027750000000000163, "user_us": 21.0, "system_us": 9.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62487546, "cycles": 19137479, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.02837500000000004, "user_us": 21.0, "system_us": 10.0, "rss_before": 12173312.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62493629, "cycles": 18850277, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.006250000000001421, "user_us": 6.0, "system_us": 4.0, "rss_before": 29671424.0, "rss_after": 29753344.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30162944, "instructions": 137795397, "cycles": 48351302, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.02362499999999912, "user_us": 325.0, "system_us": 54.0, "rss_before": 54722560.0, "rss_after": 55361536.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56164352, "instructions": 298775552, "cycles": 105841493, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.029167000000000165, "user_us": 22.0, "system_us": 11.0, "rss_before": 12173312.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62592659, "cycles": 19296778, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.006292000000000186, "user_us": 6.0, "system_us": 3.0, "rss_before": 29638656.0, "rss_after": 29720576.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30130176, "instructions": 137228782, "cycles": 47978520, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.02579199999999915, "user_us": 328.0, "system_us": 53.0, "rss_before": 54820864.0, "rss_after": 55443456.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56262656, "instructions": 291438158, "cycles": 99883643, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.028417000000000137, "user_us": 22.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62465251, "cycles": 19391898, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.027707999999999622, "user_us": 21.0, "system_us": 10.0, "rss_before": 12206080.0, "rss_after": 12517376.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13647872, "instructions": 62583287, "cycles": 19329354, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.02537500000000037, "user_us": 326.0, "system_us": 51.0, "rss_before": 54738944.0, "rss_after": 55377920.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56213504, "instructions": 291767619, "cycles": 99615663, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.03070900000000032, "user_us": 25.0, "system_us": 13.0, "rss_before": 12189696.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62477347, "cycles": 19585272, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.006416999999999007, "user_us": 6.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29687808.0, "checksum": 1.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137140657, "cycles": 48002416, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 8.893208999999999, "user_us": 8115.0, "system_us": 784.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26705920, "instructions": 234851340, "cycles": 50752289, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 8.857333, "user_us": 8102.0, "system_us": 758.0, "rss_before": 12173312.0, "rss_after": 25575424.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26656768, "instructions": 234832449, "cycles": 50403927, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 11.076291999999999, "user_us": 10442.0, "system_us": 1386.0, "rss_before": 29622272.0, "rss_after": 52707328.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53116928, "instructions": 353660967, "cycles": 86004196, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 22.118874999999996, "user_us": 24689.0, "system_us": 1894.0, "rss_before": 54706176.0, "rss_after": 78381056.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79101952, "instructions": 749657020, "cycles": 188160148, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 8.924125, "user_us": 8102.0, "system_us": 826.0, "rss_before": 12189696.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26689536, "instructions": 234874891, "cycles": 50867642, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 21.645916, "user_us": 24181.0, "system_us": 1913.0, "rss_before": 54804480.0, "rss_after": 78561280.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79282176, "instructions": 739471480, "cycles": 186596098, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 8.803917, "user_us": 8097.0, "system_us": 714.0, "rss_before": 12189696.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26673152, "instructions": 234801551, "cycles": 50182213, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 10.910167, "user_us": 10339.0, "system_us": 1319.0, "rss_before": 29605888.0, "rss_after": 52690944.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53100544, "instructions": 351386411, "cycles": 85696311, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 11.009999999999998, "user_us": 10380.0, "system_us": 1372.0, "rss_before": 29589504.0, "rss_after": 52674560.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53084160, "instructions": 352978920, "cycles": 85885616, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 8.850208, "user_us": 8115.0, "system_us": 739.0, "rss_before": 12206080.0, "rss_after": 25608192.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26705920, "instructions": 234818197, "cycles": 50555996, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 8.898458, "user_us": 8108.0, "system_us": 794.0, "rss_before": 12173312.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26673152, "instructions": 234875277, "cycles": 50657442, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 22.109542, "user_us": 24738.0, "system_us": 1837.0, "rss_before": 54820864.0, "rss_after": 78512128.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79265792, "instructions": 738394234, "cycles": 182570059, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 21.723499999999998, "user_us": 24255.0, "system_us": 1858.0, "rss_before": 54837248.0, "rss_after": 78610432.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79364096, "instructions": 743207976, "cycles": 189904617, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 9.002625, "user_us": 8096.0, "system_us": 911.0, "rss_before": 12189696.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26673152, "instructions": 235011208, "cycles": 51383601, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 10.912916000000001, "user_us": 10330.0, "system_us": 1354.0, "rss_before": 29589504.0, "rss_after": 52674560.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53084160, "instructions": 351349767, "cycles": 85401436, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 8.808375, "user_us": 8101.0, "system_us": 711.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26705920, "instructions": 234733932, "cycles": 50330298, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 8.903083, "user_us": 8103.0, "system_us": 804.0, "rss_before": 12173312.0, "rss_after": 25575424.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26656768, "instructions": 234881599, "cycles": 50526817, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 11.010666999999998, "user_us": 10413.0, "system_us": 1359.0, "rss_before": 29605888.0, "rss_after": 52690944.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53100544, "instructions": 351565557, "cycles": 85601492, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 22.157167, "user_us": 24814.0, "system_us": 1824.0, "rss_before": 54886400.0, "rss_after": 78544896.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79314944, "instructions": 743550230, "cycles": 183523051, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 8.823875000000001, "user_us": 8101.0, "system_us": 726.0, "rss_before": 12189696.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26689536, "instructions": 234703896, "cycles": 50284730, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 22.059791999999995, "user_us": 24811.0, "system_us": 1810.0, "rss_before": 54870016.0, "rss_after": 78544896.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79249408, "instructions": 744623439, "cycles": 185251844, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 10.857208, "user_us": 10325.0, "system_us": 1282.0, "rss_before": 29605888.0, "rss_after": 52690944.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53100544, "instructions": 351244791, "cycles": 85225679, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 8.8575, "user_us": 8102.0, "system_us": 759.0, "rss_before": 12189696.0, "rss_after": 25591808.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26689536, "instructions": 234817215, "cycles": 50423158, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 8.88975, "user_us": 8103.0, "system_us": 794.0, "rss_before": 12173312.0, "rss_after": 25575424.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26656768, "instructions": 234833756, "cycles": 50744553, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 8.879790999999999, "user_us": 8091.0, "system_us": 792.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26705920, "instructions": 234898077, "cycles": 50608779, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 22.372791999999997, "user_us": 23955.0, "system_us": 1926.0, "rss_before": 54853632.0, "rss_after": 78741504.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 79478784, "instructions": 748930714, "cycles": 186160101, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 11.005332999999998, "user_us": 10389.0, "system_us": 1362.0, "rss_before": 29589504.0, "rss_after": 52674560.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 53084160, "instructions": 353256142, "cycles": 85841309, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 8.818292, "user_us": 8104.0, "system_us": 717.0, "rss_before": 12173312.0, "rss_after": 25575424.0, "checksum": 200000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26656768, "instructions": 234751959, "cycles": 50352791, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.00433400000000006, "user_us": 6.0, "system_us": 3.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137130415, "cycles": 47895917, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.008791999999999689, "user_us": 322.0, "system_us": 39.0, "rss_before": 54935552.0, "rss_after": 55590912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56360960, "instructions": 292796814, "cycles": 100818771, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.007166000000000228, "user_us": 7.0, "system_us": 2.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62566787, "cycles": 19274087, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.007583999999999591, "user_us": 7.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62498873, "cycles": 18998354, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.004291999999999518, "user_us": 4.0, "system_us": 3.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137243055, "cycles": 48003090, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.007165999999999784, "user_us": 8.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62585801, "cycles": 19233109, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.0075830000000003395, "user_us": 8.0, "system_us": 2.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62567584, "cycles": 19038504, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.009000000000000341, "user_us": 325.0, "system_us": 43.0, "rss_before": 54919168.0, "rss_after": 55508992.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56295424, "instructions": 296504513, "cycles": 104412368, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.004499999999998394, "user_us": 5.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137151741, "cycles": 47941910, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.007624999999999993, "user_us": 8.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62571071, "cycles": 19282013, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.008542000000000272, "user_us": 323.0, "system_us": 36.0, "rss_before": 54870016.0, "rss_after": 55476224.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56311808, "instructions": 293189134, "cycles": 101542838, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.007333000000000034, "user_us": 8.0, "system_us": 3.0, "rss_before": 12533760.0, "rss_after": 12615680.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62531287, "cycles": 19252604, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.007709000000000632, "user_us": 8.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62587830, "cycles": 19241414, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.0073750000000001315, "user_us": 7.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62529435, "cycles": 19147512, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.004583000000000226, "user_us": 6.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29753344.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30179328, "instructions": 137887719, "cycles": 48490707, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.008625000000000327, "user_us": 326.0, "system_us": 50.0, "rss_before": 54853632.0, "rss_after": 55508992.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56295424, "instructions": 289139554, "cycles": 97614413, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.004332999999999032, "user_us": 5.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137207109, "cycles": 47894231, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.0071670000000003675, "user_us": 8.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62530397, "cycles": 19241888, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.007290999999999936, "user_us": 8.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62553644, "cycles": 19232300, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008667000000000868, "user_us": 325.0, "system_us": 38.0, "rss_before": 54935552.0, "rss_after": 55508992.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56311808, "instructions": 291750215, "cycles": 99882550, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.007082999999999728, "user_us": 7.0, "system_us": 6.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62508031, "cycles": 19266445, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.008833999999999786, "user_us": 9.0, "system_us": 3.0, "rss_before": 12533760.0, "rss_after": 12615680.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62547494, "cycles": 19213511, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.008583000000001562, "user_us": 325.0, "system_us": 40.0, "rss_before": 54902784.0, "rss_after": 55492608.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56279040, "instructions": 299943934, "cycles": 107405615, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.0044589999999988805, "user_us": 5.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29736960.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137256866, "cycles": 48117835, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.007416999999999785, "user_us": 8.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62495476, "cycles": 19221326, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.0042909999999984905, "user_us": 5.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29704192.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137293369, "cycles": 47885248, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.00749999999999984, "user_us": 8.0, "system_us": 7.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62565793, "cycles": 19406691, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.008625000000000327, "user_us": 327.0, "system_us": 42.0, "rss_before": 54919168.0, "rss_after": 55508992.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56295424, "instructions": 289844133, "cycles": 98399390, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 9.227374999999999, "user_us": 8799.0, "system_us": 1168.0, "rss_before": 29655040.0, "rss_after": 49348608.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49774592, "instructions": 323252692, "cycles": 79853084, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 13.290709, "user_us": 15265.0, "system_us": 1466.0, "rss_before": 54935552.0, "rss_after": 74842112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75595776, "instructions": 559109508, "cycles": 150927841, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 9.382792, "user_us": 8659.0, "system_us": 730.0, "rss_before": 12500992.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250493545, "cycles": 52383688, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 9.386291, "user_us": 8672.0, "system_us": 724.0, "rss_before": 12533760.0, "rss_after": 25706496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26804224, "instructions": 250722634, "cycles": 52342943, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 9.398333, "user_us": 8668.0, "system_us": 734.0, "rss_before": 12500992.0, "rss_after": 25673728.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26755072, "instructions": 250530549, "cycles": 52212779, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 9.157417000000002, "user_us": 8802.0, "system_us": 1096.0, "rss_before": 29720576.0, "rss_after": 49414144.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49840128, "instructions": 323962174, "cycles": 80527350, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 13.242375, "user_us": 15256.0, "system_us": 1446.0, "rss_before": 54951936.0, "rss_after": 74842112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75595776, "instructions": 559045841, "cycles": 151425974, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 9.442084000000001, "user_us": 8692.0, "system_us": 753.0, "rss_before": 12517376.0, "rss_after": 25706496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26804224, "instructions": 250704569, "cycles": 52470314, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 9.401542000000001, "user_us": 8663.0, "system_us": 741.0, "rss_before": 12500992.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250423529, "cycles": 52436046, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 9.427499999999998, "user_us": 8674.0, "system_us": 757.0, "rss_before": 12533760.0, "rss_after": 25706496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26804224, "instructions": 250659977, "cycles": 52217950, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 13.294999999999998, "user_us": 15329.0, "system_us": 1440.0, "rss_before": 54935552.0, "rss_after": 74842112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75563008, "instructions": 565512978, "cycles": 156867672, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 9.119499999999999, "user_us": 8796.0, "system_us": 1064.0, "rss_before": 29671424.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 323236519, "cycles": 79756412, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 9.245625, "user_us": 8791.0, "system_us": 1192.0, "rss_before": 29704192.0, "rss_after": 49397760.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49823744, "instructions": 323746445, "cycles": 80301902, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 9.434125, "user_us": 8689.0, "system_us": 748.0, "rss_before": 12517376.0, "rss_after": 25706496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26804224, "instructions": 250662273, "cycles": 52406508, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 9.42075, "user_us": 8658.0, "system_us": 768.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250436585, "cycles": 52361685, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 13.234916, "user_us": 15321.0, "system_us": 1488.0, "rss_before": 54984704.0, "rss_after": 75005952.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75694080, "instructions": 558715170, "cycles": 150574299, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 9.174458, "user_us": 8807.0, "system_us": 1104.0, "rss_before": 29704192.0, "rss_after": 49397760.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49823744, "instructions": 323156770, "cycles": 79868832, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 9.440666, "user_us": 8666.0, "system_us": 777.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250573742, "cycles": 52382632, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 13.163375, "user_us": 15188.0, "system_us": 1399.0, "rss_before": 54951936.0, "rss_after": 74792960.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75513856, "instructions": 560720209, "cycles": 152025745, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 9.551625000000001, "user_us": 8688.0, "system_us": 867.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26787840, "instructions": 250766590, "cycles": 53188931, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 9.451583000000001, "user_us": 8678.0, "system_us": 777.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250464993, "cycles": 52523795, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 9.175, "user_us": 8799.0, "system_us": 1112.0, "rss_before": 29671424.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 323216837, "cycles": 79972018, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 9.382584000000001, "user_us": 8669.0, "system_us": 717.0, "rss_before": 12517376.0, "rss_after": 25706496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26804224, "instructions": 250633194, "cycles": 52362212, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 13.151542000000003, "user_us": 15118.0, "system_us": 1496.0, "rss_before": 54870016.0, "rss_after": 74743808.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75497472, "instructions": 566061883, "cycles": 156779518, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 9.415792, "user_us": 8688.0, "system_us": 731.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26787840, "instructions": 250690126, "cycles": 52432343, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 9.178791, "user_us": 8790.0, "system_us": 1131.0, "rss_before": 29720576.0, "rss_after": 49414144.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49840128, "instructions": 323710726, "cycles": 79971841, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 13.427292000000001, "user_us": 15452.0, "system_us": 1451.0, "rss_before": 54935552.0, "rss_after": 74858496.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75595776, "instructions": 560661530, "cycles": 153018477, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 9.417874999999999, "user_us": 8665.0, "system_us": 755.0, "rss_before": 12517376.0, "rss_after": 25690112.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250482241, "cycles": 52264707, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.03016699999999961, "user_us": 23.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62462735, "cycles": 19263238, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.031791999999999376, "user_us": 330.0, "system_us": 50.0, "rss_before": 54820864.0, "rss_after": 55443456.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56229888, "instructions": 294150022, "cycles": 101811773, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.029749999999999943, "user_us": 23.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62576763, "cycles": 19340804, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.010083000000001618, "user_us": 9.0, "system_us": 4.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137151641, "cycles": 47909782, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.010334000000000287, "user_us": 9.0, "system_us": 4.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137113359, "cycles": 47975475, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.029957999999999707, "user_us": 23.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62489241, "cycles": 19161752, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.029750000000000387, "user_us": 24.0, "system_us": 9.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62358499, "cycles": 18987789, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.027874999999999872, "user_us": 331.0, "system_us": 77.0, "rss_before": 54837248.0, "rss_after": 55525376.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56328192, "instructions": 289450882, "cycles": 97858913, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.03454200000000007, "user_us": 27.0, "system_us": 11.0, "rss_before": 12173312.0, "rss_after": 12468224.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13582336, "instructions": 62481038, "cycles": 19290528, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.029583999999999833, "user_us": 330.0, "system_us": 51.0, "rss_before": 54820864.0, "rss_after": 55459840.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56229888, "instructions": 294117672, "cycles": 101540506, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.009875000000000966, "user_us": 10.0, "system_us": 5.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137069590, "cycles": 47959607, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.030084, "user_us": 23.0, "system_us": 11.0, "rss_before": 12206080.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62452471, "cycles": 19072929, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.028415999999999997, "user_us": 21.0, "system_us": 9.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62368268, "cycles": 18981279, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.02954199999999929, "user_us": 333.0, "system_us": 55.0, "rss_before": 54738944.0, "rss_after": 55443456.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56197120, "instructions": 289655339, "cycles": 98043122, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.010749999999999815, "user_us": 9.0, "system_us": 5.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137210222, "cycles": 48000649, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.02891699999999986, "user_us": 22.0, "system_us": 10.0, "rss_before": 12173312.0, "rss_after": 12468224.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13582336, "instructions": 62394331, "cycles": 18949240, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.028750000000000497, "user_us": 22.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13598720, "instructions": 62445179, "cycles": 19000747, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.0286249999999999, "user_us": 331.0, "system_us": 48.0, "rss_before": 54771712.0, "rss_after": 55427072.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 291994038, "cycles": 100114937, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.0100409999999993, "user_us": 9.0, "system_us": 8.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137160569, "cycles": 47968556, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.029833, "user_us": 23.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62508229, "cycles": 19335168, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.02804199999999968, "user_us": 22.0, "system_us": 10.0, "rss_before": 12189696.0, "rss_after": 12484608.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13615104, "instructions": 62498836, "cycles": 19233312, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.02925000000000111, "user_us": 331.0, "system_us": 54.0, "rss_before": 54722560.0, "rss_after": 55427072.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56197120, "instructions": 292256654, "cycles": 100566437, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.010082999999999842, "user_us": 9.0, "system_us": 4.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 137047362, "cycles": 48088035, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.02879200000000015, "user_us": 23.0, "system_us": 10.0, "rss_before": 12173312.0, "rss_after": 12468224.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13582336, "instructions": 62512518, "cycles": 19170555, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.048292, "user_us": 332.0, "system_us": 71.0, "rss_before": 54706176.0, "rss_after": 55410688.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 300154681, "cycles": 106800035, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.030416999999999916, "user_us": 24.0, "system_us": 10.0, "rss_before": 12206080.0, "rss_after": 12500992.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13631488, "instructions": 62586209, "cycles": 19365431, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.02999999999999936, "user_us": 23.0, "system_us": 11.0, "rss_before": 12173312.0, "rss_after": 12468224.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13582336, "instructions": 62432455, "cycles": 19123795, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.009249999999999758, "user_us": 8.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29704192.0, "checksum": 1.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137114624, "cycles": 48118848, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 10.531749999999999, "user_us": 9658.0, "system_us": 882.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26705920, "instructions": 264529514, "cycles": 56365590, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 25.587041999999997, "user_us": 24827.0, "system_us": 1514.0, "rss_before": 29573120.0, "rss_after": 55263232.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55672832, "instructions": 662249058, "cycles": 132221431, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 40.54625, "user_us": 45716.0, "system_us": 3094.0, "rss_before": 54722560.0, "rss_after": 89702400.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90456064, "instructions": 1099959328, "cycles": 254176520, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 10.5255, "user_us": 9662.0, "system_us": 866.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26722304, "instructions": 264453345, "cycles": 56060576, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 40.494792000000004, "user_us": 45124.0, "system_us": 3051.0, "rss_before": 54771712.0, "rss_after": 89718784.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90456064, "instructions": 1102718613, "cycles": 251227304, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 10.423291, "user_us": 9734.0, "system_us": 692.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26722304, "instructions": 264470764, "cycles": 55893478, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 25.750292, "user_us": 24875.0, "system_us": 1628.0, "rss_before": 29605888.0, "rss_after": 55296000.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55705600, "instructions": 662269556, "cycles": 133217143, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 10.406250000000002, "user_us": 9622.0, "system_us": 787.0, "rss_before": 12173312.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26705920, "instructions": 264450745, "cycles": 55919318, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 25.596666999999997, "user_us": 24820.0, "system_us": 1525.0, "rss_before": 29605888.0, "rss_after": 55296000.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55705600, "instructions": 662273447, "cycles": 132471616, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 10.431959, "user_us": 9679.0, "system_us": 756.0, "rss_before": 12173312.0, "rss_after": 25591808.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26689536, "instructions": 264375038, "cycles": 55630523, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 10.409167, "user_us": 9644.0, "system_us": 769.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26722304, "instructions": 264482677, "cycles": 55543181, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 39.123374999999996, "user_us": 43391.0, "system_us": 2928.0, "rss_before": 54804480.0, "rss_after": 90423296.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 91209728, "instructions": 1078891094, "cycles": 246156240, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 40.219916, "user_us": 46087.0, "system_us": 2981.0, "rss_before": 54788096.0, "rss_after": 89784320.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90537984, "instructions": 1088885182, "cycles": 259535357, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 10.413833, "user_us": 9634.0, "system_us": 783.0, "rss_before": 12173312.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26705920, "instructions": 264517260, "cycles": 55706094, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 25.543459, "user_us": 24843.0, "system_us": 1431.0, "rss_before": 29605888.0, "rss_after": 55296000.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55705600, "instructions": 662048896, "cycles": 132195593, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 10.484124999999999, "user_us": 9658.0, "system_us": 829.0, "rss_before": 12189696.0, "rss_after": 25624576.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26738688, "instructions": 264451639, "cycles": 55809231, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 10.364292, "user_us": 9633.0, "system_us": 735.0, "rss_before": 12189696.0, "rss_after": 25624576.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26738688, "instructions": 264408131, "cycles": 55291310, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 38.817625, "user_us": 44316.0, "system_us": 3174.0, "rss_before": 54837248.0, "rss_after": 89784320.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90554368, "instructions": 1087322684, "cycles": 250151694, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 25.671166999999997, "user_us": 24813.0, "system_us": 1634.0, "rss_before": 29589504.0, "rss_after": 55279616.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55689216, "instructions": 662270570, "cycles": 133189342, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 10.351292, "user_us": 9625.0, "system_us": 729.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26705920, "instructions": 264301287, "cycles": 55474153, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 41.047292, "user_us": 45743.0, "system_us": 3143.0, "rss_before": 54722560.0, "rss_after": 89702400.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90505216, "instructions": 1096024564, "cycles": 255660453, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 10.393916, "user_us": 9661.0, "system_us": 737.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26705920, "instructions": 264420183, "cycles": 55674744, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 25.691917, "user_us": 24874.0, "system_us": 1641.0, "rss_before": 29622272.0, "rss_after": 55312384.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55721984, "instructions": 662318582, "cycles": 132868837, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 10.407208, "user_us": 9664.0, "system_us": 747.0, "rss_before": 12189696.0, "rss_after": 25608192.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26722304, "instructions": 264339477, "cycles": 55528320, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 10.446791000000001, "user_us": 9668.0, "system_us": 783.0, "rss_before": 12206080.0, "rss_after": 25624576.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26738688, "instructions": 264401879, "cycles": 55770239, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 25.625417, "user_us": 24876.0, "system_us": 1502.0, "rss_before": 29605888.0, "rss_after": 55296000.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 55705600, "instructions": 662106334, "cycles": 132388285, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 10.346375, "user_us": 9624.0, "system_us": 725.0, "rss_before": 12173312.0, "rss_after": 25591808.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 26689536, "instructions": 264398431, "cycles": 55284847, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 38.920249999999996, "user_us": 44869.0, "system_us": 3087.0, "rss_before": 54755328.0, "rss_after": 89718784.0, "checksum": 100000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 90472448, "instructions": 1093535375, "cycles": 251398575, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.009040999999999855, "user_us": 8.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62594142, "cycles": 19314159, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.009082999999999952, "user_us": 8.0, "system_us": 4.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62514908, "cycles": 19129705, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.005833000000000865, "user_us": 7.0, "system_us": 2.0, "rss_before": 29704192.0, "rss_after": 29753344.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30179328, "instructions": 137229123, "cycles": 48102134, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.010209000000003243, "user_us": 328.0, "system_us": 63.0, "rss_before": 54919168.0, "rss_after": 55508992.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56279040, "instructions": 298543663, "cycles": 105869071, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.010249999999999204, "user_us": 340.0, "system_us": 44.0, "rss_before": 54951936.0, "rss_after": 55541760.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56311808, "instructions": 292539177, "cycles": 100835855, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.005250000000000199, "user_us": 6.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29736960.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30162944, "instructions": 137073191, "cycles": 47816463, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.009249999999999758, "user_us": 9.0, "system_us": 4.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62487097, "cycles": 19124440, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.0089579999999998, "user_us": 8.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62491804, "cycles": 19130132, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.00958300000000012, "user_us": 9.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62514980, "cycles": 19090614, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.009833000000000425, "user_us": 324.0, "system_us": 41.0, "rss_before": 55033856.0, "rss_after": 55656448.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56377344, "instructions": 292178759, "cycles": 100147307, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.00975000000000037, "user_us": 8.0, "system_us": 6.0, "rss_before": 12517376.0, "rss_after": 12632064.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13762560, "instructions": 62526702, "cycles": 19239774, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.005459000000000103, "user_us": 7.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29736960.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30162944, "instructions": 137134263, "cycles": 47971940, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.009500000000000064, "user_us": 9.0, "system_us": 4.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62547270, "cycles": 19168044, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.00995900000000205, "user_us": 326.0, "system_us": 38.0, "rss_before": 54984704.0, "rss_after": 55590912.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56377344, "instructions": 302787408, "cycles": 108938742, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.009208000000000105, "user_us": 8.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62515901, "cycles": 19255562, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.0055829999999996716, "user_us": 6.0, "system_us": 3.0, "rss_before": 29786112.0, "rss_after": 29835264.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30244864, "instructions": 137707394, "cycles": 48622085, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.009500000000000064, "user_us": 9.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62509055, "cycles": 19009733, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.005791999999999575, "user_us": 6.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29736960.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30162944, "instructions": 137216291, "cycles": 47925820, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008916000000000146, "user_us": 8.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62491183, "cycles": 19307616, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.010125000000000384, "user_us": 323.0, "system_us": 35.0, "rss_before": 54984704.0, "rss_after": 55558144.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56311808, "instructions": 290069671, "cycles": 98946283, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.009457999999999966, "user_us": 9.0, "system_us": 5.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62586772, "cycles": 19422957, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.005749999999999034, "user_us": 6.0, "system_us": 3.0, "rss_before": 29687808.0, "rss_after": 29736960.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30162944, "instructions": 137078028, "cycles": 47990229, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.009040999999999855, "user_us": 9.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62586635, "cycles": 19461185, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.009832999999998648, "user_us": 325.0, "system_us": 44.0, "rss_before": 54919168.0, "rss_after": 55541760.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56311808, "instructions": 292925990, "cycles": 100926214, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.006583999999998369, "user_us": 8.0, "system_us": 4.0, "rss_before": 29671424.0, "rss_after": 29720576.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137256854, "cycles": 47903684, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.009166000000000007, "user_us": 9.0, "system_us": 8.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13713408, "instructions": 62527905, "cycles": 19199328, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.009791999999999135, "user_us": 324.0, "system_us": 37.0, "rss_before": 55033856.0, "rss_after": 55574528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56344576, "instructions": 290402953, "cycles": 98678453, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.00933399999999951, "user_us": 8.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62623132, "cycles": 19880487, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.695875000000001, "user_us": 5810.0, "system_us": 890.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171592203, "cycles": 41615803, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 6.7681249999999995, "user_us": 5816.0, "system_us": 957.0, "rss_before": 12500992.0, "rss_after": 29032448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30130176, "instructions": 171804840, "cycles": 42088410, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 12.938084, "user_us": 12209.0, "system_us": 1483.0, "rss_before": 29753344.0, "rss_after": 53657600.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54083584, "instructions": 401361100, "cycles": 92246992, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 15.758000000000001, "user_us": 16005.0, "system_us": 2093.0, "rss_before": 54935552.0, "rss_after": 84508672.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85229568, "instructions": 593013080, "cycles": 160339311, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 15.561125, "user_us": 16498.0, "system_us": 2159.0, "rss_before": 54951936.0, "rss_after": 84393984.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85098496, "instructions": 591424883, "cycles": 160281888, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 12.835416, "user_us": 12208.0, "system_us": 1381.0, "rss_before": 29704192.0, "rss_after": 53608448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54034432, "instructions": 400520348, "cycles": 91583783, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 6.835042, "user_us": 5806.0, "system_us": 1033.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30113792, "instructions": 171878076, "cycles": 42392607, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 6.702958000000001, "user_us": 5819.0, "system_us": 886.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171578064, "cycles": 41700874, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 12.822207999999998, "user_us": 12216.0, "system_us": 1365.0, "rss_before": 29704192.0, "rss_after": 53608448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54034432, "instructions": 401388432, "cycles": 91918339, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 15.825208, "user_us": 16090.0, "system_us": 2086.0, "rss_before": 55050240.0, "rss_after": 84361216.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85114880, "instructions": 589804230, "cycles": 157262895, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 6.776791999999999, "user_us": 5808.0, "system_us": 975.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30113792, "instructions": 171829391, "cycles": 42163546, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 6.727292, "user_us": 5811.0, "system_us": 919.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171672789, "cycles": 41768049, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 12.912584, "user_us": 12281.0, "system_us": 1387.0, "rss_before": 29753344.0, "rss_after": 53657600.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54083584, "instructions": 401038654, "cycles": 92165732, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 6.696958, "user_us": 5808.0, "system_us": 892.0, "rss_before": 12484608.0, "rss_after": 28999680.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30081024, "instructions": 171587510, "cycles": 41656724, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.851375, "user_us": 16595.0, "system_us": 2307.0, "rss_before": 54968320.0, "rss_after": 84459520.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85164032, "instructions": 590591999, "cycles": 159929048, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 6.7285829999999995, "user_us": 5810.0, "system_us": 922.0, "rss_before": 12517376.0, "rss_after": 29032448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30130176, "instructions": 171754405, "cycles": 41821425, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.906375, "user_us": 16219.0, "system_us": 2128.0, "rss_before": 54902784.0, "rss_after": 84344832.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85065728, "instructions": 592115206, "cycles": 159630149, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 12.872333, "user_us": 12196.0, "system_us": 1423.0, "rss_before": 29687808.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 400560391, "cycles": 91707398, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 6.712333000000001, "user_us": 5811.0, "system_us": 906.0, "rss_before": 12517376.0, "rss_after": 29032448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30130176, "instructions": 171874592, "cycles": 41811376, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 6.8195, "user_us": 5819.0, "system_us": 1004.0, "rss_before": 12484608.0, "rss_after": 28999680.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30081024, "instructions": 171665976, "cycles": 42027748, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 12.811375000000002, "user_us": 12218.0, "system_us": 1340.0, "rss_before": 29687808.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 400473659, "cycles": 91280887, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 15.832708000000002, "user_us": 16689.0, "system_us": 2293.0, "rss_before": 54886400.0, "rss_after": 84328448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85082112, "instructions": 592164640, "cycles": 161058902, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 6.850042000000001, "user_us": 5808.0, "system_us": 1045.0, "rss_before": 12517376.0, "rss_after": 29032448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30130176, "instructions": 171860759, "cycles": 42569911, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 6.713917, "user_us": 5814.0, "system_us": 906.0, "rss_before": 12484608.0, "rss_after": 28999680.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30081024, "instructions": 171622668, "cycles": 41601045, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 15.673832999999998, "user_us": 16545.0, "system_us": 2211.0, "rss_before": 54902784.0, "rss_after": 84328448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85131264, "instructions": 602564135, "cycles": 169434718, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.722208, "user_us": 5800.0, "system_us": 928.0, "rss_before": 12500992.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30113792, "instructions": 171679517, "cycles": 41614597, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.712250000000001, "user_us": 5805.0, "system_us": 911.0, "rss_before": 12484608.0, "rss_after": 29016064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171560377, "cycles": 41576682, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 13.116542, "user_us": 12313.0, "system_us": 1576.0, "rss_before": 29687808.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 400699178, "cycles": 92249868, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 3.1730839999999976, "user_us": 3495.0, "system_us": 336.0, "rss_before": 57769984.0, "rss_after": 61440000.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63324160, "instructions": 351883593, "cycles": 114487065, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 2.409167, "user_us": 2267.0, "system_us": 145.0, "rss_before": 30752768.0, "rss_after": 33210368.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33619968, "instructions": 180744388, "cycles": 56343151, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.924375, "user_us": 772.0, "system_us": 155.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 80370585, "cycles": 23443602, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.9406669999999995, "user_us": 773.0, "system_us": 171.0, "rss_before": 14188544.0, "rss_after": 17416192.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18497536, "instructions": 80457531, "cycles": 23448447, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 2.4007500000000004, "user_us": 2268.0, "system_us": 136.0, "rss_before": 30818304.0, "rss_after": 33275904.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33685504, "instructions": 181033904, "cycles": 56485671, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 3.148040999999999, "user_us": 3475.0, "system_us": 338.0, "rss_before": 57769984.0, "rss_after": 61390848.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63291392, "instructions": 351643699, "cycles": 113824064, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.9132500000000006, "user_us": 756.0, "system_us": 163.0, "rss_before": 14172160.0, "rss_after": 17416192.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18497536, "instructions": 80423332, "cycles": 23780125, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 1.032625, "user_us": 855.0, "system_us": 181.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 80429727, "cycles": 23915870, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.9259580000000001, "user_us": 771.0, "system_us": 159.0, "rss_before": 14188544.0, "rss_after": 17416192.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18497536, "instructions": 80464547, "cycles": 23513750, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 3.180250000000001, "user_us": 3514.0, "system_us": 332.0, "rss_before": 57851904.0, "rss_after": 61472768.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63389696, "instructions": 352432669, "cycles": 114284762, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.9452499999999997, "user_us": 774.0, "system_us": 175.0, "rss_before": 14155776.0, "rss_after": 17383424.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 80470143, "cycles": 23570777, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 2.432958000000001, "user_us": 2266.0, "system_us": 170.0, "rss_before": 30736384.0, "rss_after": 33193984.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33603584, "instructions": 180811805, "cycles": 56349485, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 2.4127079999999985, "user_us": 2268.0, "system_us": 147.0, "rss_before": 30752768.0, "rss_after": 33210368.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33619968, "instructions": 180739643, "cycles": 55903678, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.9464579999999994, "user_us": 774.0, "system_us": 179.0, "rss_before": 14155776.0, "rss_after": 17383424.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 80367536, "cycles": 23683172, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 3.161249999999999, "user_us": 3460.0, "system_us": 352.0, "rss_before": 57769984.0, "rss_after": 61390848.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63324160, "instructions": 357444630, "cycles": 118486173, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.9461660000000007, "user_us": 772.0, "system_us": 180.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 80468248, "cycles": 23626174, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 2.3966670000000008, "user_us": 2261.0, "system_us": 139.0, "rss_before": 30785536.0, "rss_after": 33243136.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33652736, "instructions": 181129599, "cycles": 56300043, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 3.3307910000000014, "user_us": 3625.0, "system_us": 369.0, "rss_before": 57753600.0, "rss_after": 61390848.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63242240, "instructions": 356292188, "cycles": 117729765, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.9481670000000002, "user_us": 775.0, "system_us": 177.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 80420852, "cycles": 23905862, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.9280829999999995, "user_us": 775.0, "system_us": 157.0, "rss_before": 14155776.0, "rss_after": 17383424.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 80422068, "cycles": 23545500, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.9457499999999994, "user_us": 773.0, "system_us": 177.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 80340508, "cycles": 23542808, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 3.203040999999999, "user_us": 3511.0, "system_us": 334.0, "rss_before": 57753600.0, "rss_after": 61358080.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63225856, "instructions": 355229185, "cycles": 117230945, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 2.4107909999999997, "user_us": 2261.0, "system_us": 154.0, "rss_before": 30752768.0, "rss_after": 33210368.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33619968, "instructions": 180760803, "cycles": 56271272, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.9178339999999996, "user_us": 774.0, "system_us": 148.0, "rss_before": 14155776.0, "rss_after": 17383424.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 80452660, "cycles": 23906054, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 2.3875839999999986, "user_us": 2260.0, "system_us": 131.0, "rss_before": 30720000.0, "rss_after": 33177600.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 33587200, "instructions": 180644720, "cycles": 56056649, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.9242499999999993, "user_us": 772.0, "system_us": 156.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 80405936, "cycles": 23429178, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 3.207457999999999, "user_us": 3505.0, "system_us": 344.0, "rss_before": 57720832.0, "rss_after": 61341696.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 63275008, "instructions": 351984497, "cycles": 114364450, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.9504159999999997, "user_us": 780.0, "system_us": 174.0, "rss_before": 14172160.0, "rss_after": 17399808.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 80418754, "cycles": 23843181, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 34.005416000000004, "user_us": 32434.0, "system_us": 1577.0, "rss_before": 30752768.0, "rss_after": 58671104.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59080704, "instructions": 796797942, "cycles": 157595655, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 13.682250000000002, "user_us": 12151.0, "system_us": 1538.0, "rss_before": 14172160.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285709917, "cycles": 66276789, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 47.870375, "user_us": 54053.0, "system_us": 3871.0, "rss_before": 57819136.0, "rss_after": 93175808.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93913088, "instructions": 1120504273, "cycles": 282191018, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 13.620207999999996, "user_us": 12097.0, "system_us": 1527.0, "rss_before": 14172160.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285804140, "cycles": 66012223, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 47.392917, "user_us": 54216.0, "system_us": 3797.0, "rss_before": 57688064.0, "rss_after": 93044736.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93847552, "instructions": 1120837366, "cycles": 282774517, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 13.995291999999997, "user_us": 12124.0, "system_us": 1876.0, "rss_before": 14155776.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 286015755, "cycles": 67893626, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 34.297459, "user_us": 32472.0, "system_us": 1832.0, "rss_before": 30736384.0, "rss_after": 58654720.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59064320, "instructions": 797006299, "cycles": 158764114, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 13.679415999999998, "user_us": 12071.0, "system_us": 1614.0, "rss_before": 14188544.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285924672, "cycles": 66794380, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 13.708333000000003, "user_us": 12075.0, "system_us": 1637.0, "rss_before": 14172160.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285904962, "cycles": 66416623, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 50.510042000000006, "user_us": 56998.0, "system_us": 3879.0, "rss_before": 57704448.0, "rss_after": 93061120.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93863936, "instructions": 1135298250, "cycles": 303351170, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 13.703791999999998, "user_us": 12131.0, "system_us": 1579.0, "rss_before": 14188544.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285841169, "cycles": 66326594, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 34.088792, "user_us": 32409.0, "system_us": 1683.0, "rss_before": 30785536.0, "rss_after": 58703872.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59113472, "instructions": 796774041, "cycles": 157738347, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 13.634667000000002, "user_us": 12080.0, "system_us": 1558.0, "rss_before": 14155776.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285770212, "cycles": 65874589, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 45.705833, "user_us": 51959.0, "system_us": 3704.0, "rss_before": 57802752.0, "rss_after": 93241344.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93978624, "instructions": 1121821160, "cycles": 278138084, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 13.674666000000002, "user_us": 12154.0, "system_us": 1527.0, "rss_before": 14188544.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285783494, "cycles": 66103298, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 34.167666, "user_us": 32449.0, "system_us": 1723.0, "rss_before": 30801920.0, "rss_after": 58720256.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59129856, "instructions": 797452581, "cycles": 158824301, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 46.832375, "user_us": 53120.0, "system_us": 3664.0, "rss_before": 57704448.0, "rss_after": 92946432.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93765632, "instructions": 1121318136, "cycles": 281302755, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 13.824415999999998, "user_us": 12133.0, "system_us": 1699.0, "rss_before": 14155776.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285906698, "cycles": 66812710, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 34.260875, "user_us": 32431.0, "system_us": 1835.0, "rss_before": 30801920.0, "rss_after": 58720256.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59129856, "instructions": 797496384, "cycles": 158832550, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 13.651667000000002, "user_us": 12089.0, "system_us": 1570.0, "rss_before": 14172160.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285834869, "cycles": 66201003, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 34.134333, "user_us": 32439.0, "system_us": 1699.0, "rss_before": 30834688.0, "rss_after": 58753024.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59162624, "instructions": 797554827, "cycles": 158712071, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 13.611417, "user_us": 12087.0, "system_us": 1530.0, "rss_before": 14172160.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285758014, "cycles": 65864096, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 13.646584, "user_us": 12060.0, "system_us": 1591.0, "rss_before": 14188544.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285856380, "cycles": 66157995, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 45.786666, "user_us": 52316.0, "system_us": 3798.0, "rss_before": 57737216.0, "rss_after": 93077504.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93880320, "instructions": 1122324385, "cycles": 280369886, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 14.048000000000002, "user_us": 12151.0, "system_us": 1903.0, "rss_before": 14155776.0, "rss_after": 42434560.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43499520, "instructions": 285990238, "cycles": 68020634, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 34.158625, "user_us": 32432.0, "system_us": 1732.0, "rss_before": 30785536.0, "rss_after": 58703872.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 59113472, "instructions": 796941255, "cycles": 158302088, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 13.637833, "user_us": 12086.0, "system_us": 1559.0, "rss_before": 14172160.0, "rss_after": 42450944.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 43532288, "instructions": 285901351, "cycles": 66105237, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 47.312875, "user_us": 53845.0, "system_us": 4039.0, "rss_before": 57753600.0, "rss_after": 93175808.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 93929472, "instructions": 1122857563, "cycles": 284359025, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.8014169999999998, "user_us": 643.0, "system_us": 167.0, "rss_before": 17121280.0, "rss_after": 20054016.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21118976, "instructions": 115171100, "cycles": 29625841, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.9265420000000013, "user_us": 1203.0, "system_us": 145.0, "rss_before": 61145088.0, "rss_after": 63504384.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 65863680, "instructions": 371108665, "cycles": 122100470, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 1.0671669999999995, "user_us": 959.0, "system_us": 112.0, "rss_before": 34095104.0, "rss_after": 36126720.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36536320, "instructions": 199647203, "cycles": 60315815, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.7968330000000003, "user_us": 649.0, "system_us": 156.0, "rss_before": 17154048.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115109106, "cycles": 29852244, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.7876250000000002, "user_us": 650.0, "system_us": 144.0, "rss_before": 17137664.0, "rss_after": 20070400.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 115077464, "cycles": 29697063, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 1.0722909999999999, "user_us": 960.0, "system_us": 118.0, "rss_before": 34111488.0, "rss_after": 36143104.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36552704, "instructions": 199623644, "cycles": 59874861, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.9177500000000016, "user_us": 1192.0, "system_us": 152.0, "rss_before": 61292544.0, "rss_after": 63651840.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 66109440, "instructions": 370362740, "cycles": 121931770, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.7810420000000002, "user_us": 639.0, "system_us": 146.0, "rss_before": 17154048.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115059505, "cycles": 29594893, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.7988340000000003, "user_us": 647.0, "system_us": 160.0, "rss_before": 17121280.0, "rss_after": 20054016.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21118976, "instructions": 115115663, "cycles": 29678762, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.7998329999999996, "user_us": 645.0, "system_us": 163.0, "rss_before": 17154048.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115096303, "cycles": 29584620, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 1.0817080000000008, "user_us": 963.0, "system_us": 122.0, "rss_before": 34111488.0, "rss_after": 36143104.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36552704, "instructions": 199574324, "cycles": 59757070, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.9141250000000021, "user_us": 1192.0, "system_us": 143.0, "rss_before": 61259776.0, "rss_after": 63619072.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 66076672, "instructions": 370200555, "cycles": 122274436, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.7900829999999992, "user_us": 646.0, "system_us": 151.0, "rss_before": 17137664.0, "rss_after": 20070400.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 114990054, "cycles": 29472521, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.7911250000000001, "user_us": 645.0, "system_us": 151.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115014882, "cycles": 29373835, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.9336249999999993, "user_us": 1216.0, "system_us": 145.0, "rss_before": 61308928.0, "rss_after": 63668224.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 66060288, "instructions": 365635760, "cycles": 117974829, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 1.0642080000000007, "user_us": 960.0, "system_us": 109.0, "rss_before": 34095104.0, "rss_after": 36126720.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36536320, "instructions": 199794817, "cycles": 60175428, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.9123749999999973, "user_us": 1182.0, "system_us": 139.0, "rss_before": 61341696.0, "rss_after": 63700992.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 66043904, "instructions": 367426977, "cycles": 118868839, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.7973329999999992, "user_us": 645.0, "system_us": 160.0, "rss_before": 17137664.0, "rss_after": 20070400.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 115081447, "cycles": 29643548, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.8040000000000003, "user_us": 646.0, "system_us": 167.0, "rss_before": 17154048.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115185431, "cycles": 29888036, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 1.075208, "user_us": 960.0, "system_us": 119.0, "rss_before": 34144256.0, "rss_after": 36175872.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36585472, "instructions": 199375816, "cycles": 59484419, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 1.0737499999999986, "user_us": 960.0, "system_us": 117.0, "rss_before": 34095104.0, "rss_after": 36126720.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36536320, "instructions": 199330519, "cycles": 59810631, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.7988329999999992, "user_us": 645.0, "system_us": 159.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115106960, "cycles": 29856180, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.7857910000000006, "user_us": 642.0, "system_us": 151.0, "rss_before": 17137664.0, "rss_after": 20070400.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 115009488, "cycles": 29300497, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.9080840000000023, "user_us": 1186.0, "system_us": 136.0, "rss_before": 61292544.0, "rss_after": 63619072.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 65961984, "instructions": 365750180, "cycles": 117251948, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.7822499999999994, "user_us": 648.0, "system_us": 141.0, "rss_before": 17154048.0, "rss_after": 20086784.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 114993230, "cycles": 29654895, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.800749999999999, "user_us": 646.0, "system_us": 160.0, "rss_before": 17121280.0, "rss_after": 20054016.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 21118976, "instructions": 115056155, "cycles": 29579501, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 1.0649169999999994, "user_us": 959.0, "system_us": 110.0, "rss_before": 34111488.0, "rss_after": 36143104.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 36552704, "instructions": 199337599, "cycles": 59720536, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.9174590000000009, "user_us": 1190.0, "system_us": 150.0, "rss_before": 61292544.0, "rss_after": 63635456.0, "checksum": 880997.0, "retained": 1.0, "fixture": "records_array_1m", "iterations": 1, "warmup": 0, "peak_rss": 66060288, "instructions": 364028282, "cycles": 116862779, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.939375, "user_us": 14968.0, "system_us": 975.0, "rss_before": 34127872.0, "rss_after": 49594368.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 50003968, "instructions": 466378970, "cycles": 107622224, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 10.462582999999999, "user_us": 9554.0, "system_us": 912.0, "rss_before": 17154048.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299422585, "cycles": 60897202, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 14.413666999999997, "user_us": 14677.0, "system_us": 1423.0, "rss_before": 61292544.0, "rss_after": 80183296.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80838656, "instructions": 606895325, "cycles": 167644745, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 10.538792, "user_us": 9652.0, "system_us": 894.0, "rss_before": 17121280.0, "rss_after": 33341440.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34406400, "instructions": 299387014, "cycles": 61050702, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 10.513667000000002, "user_us": 9560.0, "system_us": 960.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299442464, "cycles": 60841436, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.814, "user_us": 14963.0, "system_us": 855.0, "rss_before": 34127872.0, "rss_after": 49594368.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 50003968, "instructions": 466616132, "cycles": 107188816, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 10.431042000000001, "user_us": 9569.0, "system_us": 866.0, "rss_before": 17121280.0, "rss_after": 33341440.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34406400, "instructions": 299382557, "cycles": 60830564, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 14.541208000000001, "user_us": 14622.0, "system_us": 1347.0, "rss_before": 61276160.0, "rss_after": 80101376.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80740352, "instructions": 603202972, "cycles": 164481407, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 14.382791000000001, "user_us": 14584.0, "system_us": 1331.0, "rss_before": 61177856.0, "rss_after": 80101376.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80691200, "instructions": 599908671, "cycles": 161708678, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 10.632041999999998, "user_us": 9718.0, "system_us": 920.0, "rss_before": 17121280.0, "rss_after": 33357824.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34422784, "instructions": 299391013, "cycles": 61407821, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 15.847709000000002, "user_us": 14979.0, "system_us": 872.0, "rss_before": 34111488.0, "rss_after": 49577984.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 49987584, "instructions": 466583345, "cycles": 108136224, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 10.501959, "user_us": 9556.0, "system_us": 954.0, "rss_before": 17154048.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299468051, "cycles": 61086113, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 14.725708000000001, "user_us": 14831.0, "system_us": 1391.0, "rss_before": 61145088.0, "rss_after": 80150528.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80838656, "instructions": 599804794, "cycles": 162639338, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 10.6295, "user_us": 9664.0, "system_us": 969.0, "rss_before": 17121280.0, "rss_after": 33341440.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34406400, "instructions": 299412445, "cycles": 61432117, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.888166, "user_us": 14980.0, "system_us": 912.0, "rss_before": 34111488.0, "rss_after": 49577984.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 49987584, "instructions": 466433974, "cycles": 107353045, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 10.645791000000003, "user_us": 9688.0, "system_us": 962.0, "rss_before": 17154048.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299512674, "cycles": 61542691, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 10.582834000000002, "user_us": 9722.0, "system_us": 869.0, "rss_before": 17137664.0, "rss_after": 33357824.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34422784, "instructions": 299429646, "cycles": 61209240, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 10.465584, "user_us": 9575.0, "system_us": 897.0, "rss_before": 17137664.0, "rss_after": 33357824.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299473061, "cycles": 60901504, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.881875, "user_us": 14997.0, "system_us": 889.0, "rss_before": 34111488.0, "rss_after": 49577984.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 49987584, "instructions": 466816396, "cycles": 107679388, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 14.4295, "user_us": 14665.0, "system_us": 1343.0, "rss_before": 61407232.0, "rss_after": 80248832.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80936960, "instructions": 605716389, "cycles": 167376064, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 10.606624999999998, "user_us": 9630.0, "system_us": 981.0, "rss_before": 17121280.0, "rss_after": 33341440.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34406400, "instructions": 299553026, "cycles": 61453746, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 10.651833, "user_us": 9729.0, "system_us": 928.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299524994, "cycles": 61865208, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 15.820584, "user_us": 14976.0, "system_us": 849.0, "rss_before": 34095104.0, "rss_after": 49561600.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 49971200, "instructions": 466429989, "cycles": 107264154, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 14.385416000000003, "user_us": 14610.0, "system_us": 1362.0, "rss_before": 61259776.0, "rss_after": 80166912.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80855040, "instructions": 599568505, "cycles": 161624977, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 10.496042000000001, "user_us": 9576.0, "system_us": 929.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34455552, "instructions": 299421644, "cycles": 60965796, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 10.568416, "user_us": 9589.0, "system_us": 984.0, "rss_before": 17137664.0, "rss_after": 33357824.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 34422784, "instructions": 299558120, "cycles": 61200059, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 14.566499999999998, "user_us": 14633.0, "system_us": 1390.0, "rss_before": 61308928.0, "rss_after": 80248832.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 80855040, "instructions": 601682547, "cycles": 163722433, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.993917, "user_us": 15087.0, "system_us": 911.0, "rss_before": 34127872.0, "rss_after": 49594368.0, "checksum": 14095952.0, "retained": 16.0, "fixture": "records_array_1m", "iterations": 16, "warmup": 0, "peak_rss": 50003968, "instructions": 466573918, "cycles": 107662897, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 1.8550410000000008, "user_us": 1773.0, "system_us": 89.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17203200, "instructions": 100921616, "cycles": 26409978, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 1.8602080000000005, "user_us": 1771.0, "system_us": 95.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17219584, "instructions": 101001236, "cycles": 26520530, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 3.4344160000000006, "user_us": 3741.0, "system_us": 345.0, "rss_before": 57622528.0, "rss_after": 61259776.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63160320, "instructions": 353432208, "cycles": 116333767, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 2.402291999999999, "user_us": 2265.0, "system_us": 141.0, "rss_before": 30834688.0, "rss_after": 33292288.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33701888, "instructions": 181262423, "cycles": 56571127, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 3.3230000000000004, "user_us": 3627.0, "system_us": 343.0, "rss_before": 57769984.0, "rss_after": 61358080.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63275008, "instructions": 352626948, "cycles": 115437630, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 2.4566669999999995, "user_us": 2307.0, "system_us": 152.0, "rss_before": 30752768.0, "rss_after": 33210368.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33619968, "instructions": 180658658, "cycles": 56170708, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 1.8648330000000004, "user_us": 1781.0, "system_us": 88.0, "rss_before": 14155776.0, "rss_after": 16105472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17186816, "instructions": 100984584, "cycles": 26809151, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 1.8610829999999998, "user_us": 1775.0, "system_us": 92.0, "rss_before": 14188544.0, "rss_after": 16138240.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17235968, "instructions": 101001449, "cycles": 26375791, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 1.8519590000000004, "user_us": 1771.0, "system_us": 86.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17219584, "instructions": 100986839, "cycles": 26319909, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 2.416124999999999, "user_us": 2270.0, "system_us": 150.0, "rss_before": 30769152.0, "rss_after": 33226752.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33636352, "instructions": 180659843, "cycles": 55909951, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 1.862416, "user_us": 1779.0, "system_us": 89.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17203200, "instructions": 101008097, "cycles": 26461745, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 3.3418339999999986, "user_us": 3656.0, "system_us": 341.0, "rss_before": 57769984.0, "rss_after": 61407232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63275008, "instructions": 352580026, "cycles": 115325607, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 1.8680830000000004, "user_us": 1773.0, "system_us": 99.0, "rss_before": 14188544.0, "rss_after": 16138240.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17235968, "instructions": 100989102, "cycles": 26605480, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 2.4086250000000007, "user_us": 2267.0, "system_us": 145.0, "rss_before": 30769152.0, "rss_after": 33226752.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33636352, "instructions": 180678775, "cycles": 56137704, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 3.3287910000000025, "user_us": 3626.0, "system_us": 347.0, "rss_before": 57835520.0, "rss_after": 61456384.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63324160, "instructions": 357796111, "cycles": 119407841, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 1.8596250000000007, "user_us": 1772.0, "system_us": 95.0, "rss_before": 14155776.0, "rss_after": 16105472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17186816, "instructions": 100885040, "cycles": 26378365, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 1.8646250000000006, "user_us": 1771.0, "system_us": 99.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17203200, "instructions": 101062445, "cycles": 26509802, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 2.4062079999999995, "user_us": 2267.0, "system_us": 143.0, "rss_before": 30785536.0, "rss_after": 33243136.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33652736, "instructions": 181225342, "cycles": 56506439, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 1.8707499999999997, "user_us": 1775.0, "system_us": 99.0, "rss_before": 14188544.0, "rss_after": 16138240.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17235968, "instructions": 100973495, "cycles": 26555333, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 3.244417000000002, "user_us": 3548.0, "system_us": 349.0, "rss_before": 57720832.0, "rss_after": 61341696.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63160320, "instructions": 358050796, "cycles": 119087292, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 3.3775830000000013, "user_us": 3708.0, "system_us": 324.0, "rss_before": 57769984.0, "rss_after": 61407232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63258624, "instructions": 351413513, "cycles": 114411502, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 2.4090420000000012, "user_us": 2274.0, "system_us": 140.0, "rss_before": 30769152.0, "rss_after": 33226752.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33636352, "instructions": 180720073, "cycles": 56143323, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 1.850041, "user_us": 1768.0, "system_us": 88.0, "rss_before": 14155776.0, "rss_after": 16105472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17186816, "instructions": 101052249, "cycles": 26619306, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 1.8547499999999997, "user_us": 1774.0, "system_us": 86.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17219584, "instructions": 100941092, "cycles": 26415274, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 1.8617500000000002, "user_us": 1771.0, "system_us": 97.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17203200, "instructions": 101017992, "cycles": 26426819, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 2.4064159999999983, "user_us": 2264.0, "system_us": 145.0, "rss_before": 30752768.0, "rss_after": 33210368.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 33619968, "instructions": 180699316, "cycles": 56018721, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 3.332333000000002, "user_us": 3616.0, "system_us": 366.0, "rss_before": 57720832.0, "rss_after": 61341696.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 63258624, "instructions": 354630594, "cycles": 116446143, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 1.8687080000000007, "user_us": 1772.0, "system_us": 103.0, "rss_before": 14172160.0, "rss_after": 16121856.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 17219584, "instructions": 100948351, "cycles": 26770483, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 47.662875, "user_us": 44826.0, "system_us": 2843.0, "rss_before": 14172160.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 936628679, "cycles": 175517213, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 34.221542, "user_us": 32453.0, "system_us": 1774.0, "rss_before": 30736384.0, "rss_after": 58654720.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59064320, "instructions": 798034257, "cycles": 158472948, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 47.658958, "user_us": 44763.0, "system_us": 2902.0, "rss_before": 14188544.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936578833, "cycles": 175399980, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 46.838667, "user_us": 53440.0, "system_us": 4015.0, "rss_before": 57851904.0, "rss_after": 93405184.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 94158848, "instructions": 1130437506, "cycles": 287756535, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 47.788333, "user_us": 44914.0, "system_us": 2879.0, "rss_before": 14172160.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 937598123, "cycles": 175925696, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 49.449791000000005, "user_us": 55712.0, "system_us": 4019.0, "rss_before": 57655296.0, "rss_after": 93159424.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 93896704, "instructions": 1128631589, "cycles": 293658416, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 35.056, "user_us": 33351.0, "system_us": 1709.0, "rss_before": 30785536.0, "rss_after": 58703872.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59113472, "instructions": 796800838, "cycles": 160893190, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 47.859584000000005, "user_us": 44953.0, "system_us": 2913.0, "rss_before": 14188544.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936568674, "cycles": 176299701, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 47.67025, "user_us": 44853.0, "system_us": 2822.0, "rss_before": 14172160.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936544759, "cycles": 175550795, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 34.167958999999996, "user_us": 32466.0, "system_us": 1706.0, "rss_before": 30752768.0, "rss_after": 58671104.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59080704, "instructions": 796784152, "cycles": 157887884, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 47.698665999999996, "user_us": 54062.0, "system_us": 3592.0, "rss_before": 57851904.0, "rss_after": 93192192.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 93978624, "instructions": 1118853740, "cycles": 282316619, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 47.925125, "user_us": 44885.0, "system_us": 3047.0, "rss_before": 14172160.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 936802311, "cycles": 176391177, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 46.44137500000001, "user_us": 52628.0, "system_us": 3862.0, "rss_before": 57819136.0, "rss_after": 93339648.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 94126080, "instructions": 1132323456, "cycles": 289037534, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 47.994583, "user_us": 45119.0, "system_us": 2882.0, "rss_before": 14172160.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 936474847, "cycles": 176414408, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 34.071749999999994, "user_us": 32455.0, "system_us": 1621.0, "rss_before": 30769152.0, "rss_after": 58687488.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59097088, "instructions": 798001093, "cycles": 158009221, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 47.614916, "user_us": 44845.0, "system_us": 2773.0, "rss_before": 14188544.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936609231, "cycles": 175289203, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 47.877042, "user_us": 44937.0, "system_us": 2945.0, "rss_before": 14155776.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 936545385, "cycles": 175971176, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 34.098709, "user_us": 32409.0, "system_us": 1696.0, "rss_before": 30752768.0, "rss_after": 58671104.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59080704, "instructions": 796829081, "cycles": 157871897, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 47.562583999999994, "user_us": 44791.0, "system_us": 2778.0, "rss_before": 14188544.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936515764, "cycles": 175134237, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 49.168082999999996, "user_us": 55627.0, "system_us": 3790.0, "rss_before": 57753600.0, "rss_after": 93339648.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 94109696, "instructions": 1127653478, "cycles": 293055359, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 47.623459, "user_us": 44874.0, "system_us": 2754.0, "rss_before": 14172160.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936425985, "cycles": 175326631, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 47.687708, "user_us": 44848.0, "system_us": 2844.0, "rss_before": 14155776.0, "rss_after": 55033856.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55558144, "instructions": 936488412, "cycles": 175622129, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 48.599624999999996, "user_us": 55402.0, "system_us": 3916.0, "rss_before": 57769984.0, "rss_after": 93323264.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 94093312, "instructions": 1124328786, "cycles": 287986653, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 34.132583, "user_us": 32423.0, "system_us": 1714.0, "rss_before": 30736384.0, "rss_after": 58654720.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59064320, "instructions": 796817421, "cycles": 158221734, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 47.583833, "user_us": 44846.0, "system_us": 2741.0, "rss_before": 14172160.0, "rss_after": 55050240.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55590912, "instructions": 936476113, "cycles": 175165425, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 47.664792, "user_us": 44858.0, "system_us": 2811.0, "rss_before": 14155776.0, "rss_after": 55017472.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 55541760, "instructions": 936461325, "cycles": 175458700, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 47.13725, "user_us": 52931.0, "system_us": 3879.0, "rss_before": 57835520.0, "rss_after": 93339648.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 94126080, "instructions": 1120978645, "cycles": 280208851, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 34.100375, "user_us": 32428.0, "system_us": 1678.0, "rss_before": 30752768.0, "rss_after": 58671104.0, "checksum": 16.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 59080704, "instructions": 796800830, "cycles": 158392966, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.9345829999999999, "user_us": 1195.0, "system_us": 157.0, "rss_before": 61308928.0, "rss_after": 63651840.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66109440, "instructions": 368206431, "cycles": 119444012, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.8022089999999995, "user_us": 648.0, "system_us": 159.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 114980025, "cycles": 29417430, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.7983340000000005, "user_us": 651.0, "system_us": 155.0, "rss_before": 17121280.0, "rss_after": 20070400.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 114974023, "cycles": 29460649, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 1.0722079999999998, "user_us": 963.0, "system_us": 112.0, "rss_before": 34160640.0, "rss_after": 36192256.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36601856, "instructions": 199899573, "cycles": 60282391, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.8072499999999998, "user_us": 649.0, "system_us": 162.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21151744, "instructions": 115073926, "cycles": 29516133, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.9028750000000016, "user_us": 1185.0, "system_us": 132.0, "rss_before": 61341696.0, "rss_after": 63733760.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66125824, "instructions": 371646532, "cycles": 122437020, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 1.0693340000000013, "user_us": 958.0, "system_us": 115.0, "rss_before": 34193408.0, "rss_after": 36225024.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36634624, "instructions": 199926484, "cycles": 60157271, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.796875, "user_us": 652.0, "system_us": 153.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 114928017, "cycles": 29509963, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 1.059667000000001, "user_us": 960.0, "system_us": 102.0, "rss_before": 34127872.0, "rss_after": 36159488.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36569088, "instructions": 199348288, "cycles": 59804538, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.9324999999999974, "user_us": 1186.0, "system_us": 158.0, "rss_before": 61325312.0, "rss_after": 63700992.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66093056, "instructions": 365556265, "cycles": 117594259, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.7887500000000003, "user_us": 644.0, "system_us": 154.0, "rss_before": 17121280.0, "rss_after": 20070400.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 115067964, "cycles": 29770489, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.7979589999999996, "user_us": 650.0, "system_us": 156.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 115186618, "cycles": 29634961, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.7971250000000003, "user_us": 646.0, "system_us": 157.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21151744, "instructions": 115045601, "cycles": 29417303, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 1.0568749999999998, "user_us": 958.0, "system_us": 102.0, "rss_before": 34111488.0, "rss_after": 36143104.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36552704, "instructions": 199479928, "cycles": 59717218, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.9226670000000006, "user_us": 1200.0, "system_us": 164.0, "rss_before": 61210624.0, "rss_after": 63602688.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66093056, "instructions": 370162748, "cycles": 121979969, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.7905000000000006, "user_us": 649.0, "system_us": 150.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 115118677, "cycles": 29681605, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 1.0683749999999996, "user_us": 961.0, "system_us": 111.0, "rss_before": 34095104.0, "rss_after": 36126720.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36536320, "instructions": 199541776, "cycles": 59844014, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.9254169999999995, "user_us": 1198.0, "system_us": 141.0, "rss_before": 61194240.0, "rss_after": 63553536.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66011136, "instructions": 367020975, "cycles": 119018625, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.8003749999999998, "user_us": 652.0, "system_us": 154.0, "rss_before": 17121280.0, "rss_after": 20070400.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 114954780, "cycles": 29562679, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.8135829999999995, "user_us": 648.0, "system_us": 174.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 114984301, "cycles": 29319508, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.8019580000000008, "user_us": 652.0, "system_us": 155.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21151744, "instructions": 114971953, "cycles": 29386612, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.8133749999999997, "user_us": 649.0, "system_us": 169.0, "rss_before": 17154048.0, "rss_after": 20103168.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21184512, "instructions": 115095288, "cycles": 29754863, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 1.0374160000000003, "user_us": 938.0, "system_us": 104.0, "rss_before": 34144256.0, "rss_after": 36175872.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36585472, "instructions": 199391973, "cycles": 59634445, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.9177089999999986, "user_us": 1190.0, "system_us": 147.0, "rss_before": 61243392.0, "rss_after": 63602688.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66076672, "instructions": 363215576, "cycles": 115836657, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.9102080000000008, "user_us": 1194.0, "system_us": 140.0, "rss_before": 61325312.0, "rss_after": 63684608.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 66027520, "instructions": 371090996, "cycles": 122051297, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.7996670000000003, "user_us": 651.0, "system_us": 153.0, "rss_before": 17121280.0, "rss_after": 20070400.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21135360, "instructions": 115048695, "cycles": 29590009, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.7998749999999992, "user_us": 651.0, "system_us": 153.0, "rss_before": 17137664.0, "rss_after": 20086784.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 21168128, "instructions": 115003248, "cycles": 29408500, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 1.0706249999999997, "user_us": 965.0, "system_us": 110.0, "rss_before": 34095104.0, "rss_after": 36126720.0, "checksum": 881009.0, "retained": 1.0, "fixture": "records_object_1m", "iterations": 1, "warmup": 0, "peak_rss": 36536320, "instructions": 199315421, "cycles": 60004855, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.878250000000001, "user_us": 14978.0, "system_us": 904.0, "rss_before": 34144256.0, "rss_after": 49610752.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 50020352, "instructions": 466519765, "cycles": 107430006, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 10.578042, "user_us": 9688.0, "system_us": 893.0, "rss_before": 17137664.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299377761, "cycles": 61017970, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 14.410957999999997, "user_us": 14599.0, "system_us": 1339.0, "rss_before": 61194240.0, "rss_after": 80183296.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80838656, "instructions": 600878277, "cycles": 163074867, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 10.501708, "user_us": 9588.0, "system_us": 919.0, "rss_before": 17121280.0, "rss_after": 33357824.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34422784, "instructions": 299469138, "cycles": 61021938, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 14.480708999999997, "user_us": 14586.0, "system_us": 1329.0, "rss_before": 61308928.0, "rss_after": 80199680.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80887808, "instructions": 601267779, "cycles": 161990347, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.893584, "user_us": 14952.0, "system_us": 946.0, "rss_before": 34111488.0, "rss_after": 49577984.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 49987584, "instructions": 466629301, "cycles": 107434808, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 10.463708, "user_us": 9595.0, "system_us": 875.0, "rss_before": 17137664.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299517023, "cycles": 61039659, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 10.711917, "user_us": 9724.0, "system_us": 993.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299490394, "cycles": 61685473, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 10.62525, "user_us": 9739.0, "system_us": 894.0, "rss_before": 17121280.0, "rss_after": 33374208.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299479430, "cycles": 61278813, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 14.421875, "user_us": 14655.0, "system_us": 1493.0, "rss_before": 61308928.0, "rss_after": 80232448.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80887808, "instructions": 600785062, "cycles": 163017471, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 15.869416, "user_us": 14968.0, "system_us": 907.0, "rss_before": 34177024.0, "rss_after": 49643520.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 50053120, "instructions": 466787208, "cycles": 108286472, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 10.656875, "user_us": 9600.0, "system_us": 1064.0, "rss_before": 17137664.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299625333, "cycles": 62012412, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 10.629667000000001, "user_us": 9712.0, "system_us": 924.0, "rss_before": 17137664.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299382638, "cycles": 61166841, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.969834, "user_us": 14996.0, "system_us": 978.0, "rss_before": 34177024.0, "rss_after": 49643520.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 50053120, "instructions": 466993200, "cycles": 108054645, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 10.575458000000001, "user_us": 9627.0, "system_us": 952.0, "rss_before": 17121280.0, "rss_after": 33374208.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299460044, "cycles": 61097875, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 14.499708000000002, "user_us": 14661.0, "system_us": 1354.0, "rss_before": 61308928.0, "rss_after": 80314368.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80986112, "instructions": 604858484, "cycles": 166399512, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.810958, "user_us": 14982.0, "system_us": 833.0, "rss_before": 34111488.0, "rss_after": 49577984.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 49987584, "instructions": 466301528, "cycles": 107107740, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 14.451375000000002, "user_us": 14775.0, "system_us": 1387.0, "rss_before": 61194240.0, "rss_after": 80199680.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80904192, "instructions": 599945367, "cycles": 161528779, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 10.6555, "user_us": 9723.0, "system_us": 937.0, "rss_before": 17154048.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299378700, "cycles": 61519260, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 10.601708000000002, "user_us": 9734.0, "system_us": 876.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299465989, "cycles": 61238641, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.839792000000001, "user_us": 14979.0, "system_us": 868.0, "rss_before": 34078720.0, "rss_after": 49545216.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 49954816, "instructions": 466531077, "cycles": 107170341, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 14.419708, "user_us": 14662.0, "system_us": 1327.0, "rss_before": 61177856.0, "rss_after": 80068608.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80674816, "instructions": 602085653, "cycles": 164629777, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 10.569667000000003, "user_us": 9704.0, "system_us": 870.0, "rss_before": 17121280.0, "rss_after": 33357824.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34422784, "instructions": 299467165, "cycles": 61225175, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 10.584374999999998, "user_us": 9689.0, "system_us": 902.0, "rss_before": 17137664.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299492396, "cycles": 61138795, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 10.638417, "user_us": 9716.0, "system_us": 926.0, "rss_before": 17154048.0, "rss_after": 33390592.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34471936, "instructions": 299473089, "cycles": 61288431, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.942625000000001, "user_us": 15079.0, "system_us": 870.0, "rss_before": 34078720.0, "rss_after": 49545216.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 49954816, "instructions": 466616809, "cycles": 107354540, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 14.575958, "user_us": 14675.0, "system_us": 1416.0, "rss_before": 61161472.0, "rss_after": 80199680.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 80887808, "instructions": 600681387, "cycles": 162399915, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 10.569083999999997, "user_us": 9713.0, "system_us": 864.0, "rss_before": 17137664.0, "rss_after": 33374208.0, "checksum": 14096144.0, "retained": 16.0, "fixture": "records_object_1m", "iterations": 16, "warmup": 0, "peak_rss": 34439168, "instructions": 299368929, "cycles": 61010923, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 8.443375, "user_us": 6849.0, "system_us": 1604.0, "rss_before": 27049984.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 202981639, "cycles": 57887402, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 8.277249999999999, "user_us": 6859.0, "system_us": 1427.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 202873786, "cycles": 57260825, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 25.352332999999998, "user_us": 27862.0, "system_us": 2089.0, "rss_before": 77676544.0, "rss_after": 99024896.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102514688, "instructions": 768732257, "cycles": 216282102, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 18.709708, "user_us": 17587.0, "system_us": 1128.0, "rss_before": 36962304.0, "rss_after": 54886400.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55296000, "instructions": 475704499, "cycles": 111401325, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 8.499333999999998, "user_us": 6896.0, "system_us": 1611.0, "rss_before": 27033600.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 203008410, "cycles": 58409956, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 8.287958, "user_us": 6848.0, "system_us": 1449.0, "rss_before": 27049984.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 202856616, "cycles": 57584665, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 23.580042, "user_us": 26030.0, "system_us": 2254.0, "rss_before": 77611008.0, "rss_after": 99008512.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102449152, "instructions": 766847222, "cycles": 209495133, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 18.841041999999998, "user_us": 17562.0, "system_us": 1286.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 476298442, "cycles": 112303884, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 23.651750000000003, "user_us": 26126.0, "system_us": 2139.0, "rss_before": 77709312.0, "rss_after": 99123200.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102612992, "instructions": 764651524, "cycles": 207606408, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 18.789458, "user_us": 17642.0, "system_us": 1157.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475705252, "cycles": 111902331, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 8.222375, "user_us": 6829.0, "system_us": 1403.0, "rss_before": 27049984.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 202598367, "cycles": 56993198, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 8.408709, "user_us": 6777.0, "system_us": 1641.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 202829923, "cycles": 57648536, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 8.199125000000002, "user_us": 6830.0, "system_us": 1376.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 202751618, "cycles": 56772610, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 23.356084000000003, "user_us": 25703.0, "system_us": 2225.0, "rss_before": 77529088.0, "rss_after": 98910208.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102432768, "instructions": 770256492, "cycles": 211490996, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 8.40725, "user_us": 6930.0, "system_us": 1488.0, "rss_before": 27033600.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 202949193, "cycles": 58562913, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 18.723708000000002, "user_us": 17568.0, "system_us": 1162.0, "rss_before": 36962304.0, "rss_after": 54886400.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55296000, "instructions": 475833358, "cycles": 111797804, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 8.261333, "user_us": 6742.0, "system_us": 1528.0, "rss_before": 27049984.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 202887866, "cycles": 57264557, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 8.320667, "user_us": 6836.0, "system_us": 1491.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 202869968, "cycles": 57540557, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 20.795834, "user_us": 19670.0, "system_us": 1132.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475713496, "cycles": 118173895, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 23.102916, "user_us": 25827.0, "system_us": 2050.0, "rss_before": 77742080.0, "rss_after": 99123200.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102629376, "instructions": 769186214, "cycles": 212337684, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 8.044249999999998, "user_us": 6701.0, "system_us": 1349.0, "rss_before": 27033600.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 201787220, "cycles": 56471575, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 23.130334000000005, "user_us": 25645.0, "system_us": 1977.0, "rss_before": 77611008.0, "rss_after": 98959360.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102514688, "instructions": 763287257, "cycles": 205605853, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 8.243416, "user_us": 6800.0, "system_us": 1452.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 201838004, "cycles": 57103673, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 18.611083, "user_us": 17539.0, "system_us": 1078.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475210603, "cycles": 111014829, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 18.638958, "user_us": 17544.0, "system_us": 1100.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475187099, "cycles": 111122201, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 8.00175, "user_us": 6765.0, "system_us": 1242.0, "rss_before": 27066368.0, "rss_after": 50921472.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 52002816, "instructions": 201739772, "cycles": 56135187, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 24.376334, "user_us": 27215.0, "system_us": 1909.0, "rss_before": 77643776.0, "rss_after": 99024896.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 102498304, "instructions": 765600863, "cycles": 212053501, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 8.055667, "user_us": 6709.0, "system_us": 1355.0, "rss_before": 27049984.0, "rss_after": 50905088.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 51970048, "instructions": 201740644, "cycles": 56647778, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 86.210375, "user_us": 98041.0, "system_us": 6773.0, "rss_before": 77676544.0, "rss_after": 154353664.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167116800, "instructions": 2100459459, "cycles": 481576364, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 33.102, "user_us": 29197.0, "system_us": 3912.0, "rss_before": 27033600.0, "rss_after": 89456640.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89964544, "instructions": 546913644, "cycles": 137804379, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 82.436125, "user_us": 90273.0, "system_us": 3922.0, "rss_before": 36978688.0, "rss_after": 96616448.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 97026048, "instructions": 1653955581, "cycles": 349757698, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 33.110208, "user_us": 29293.0, "system_us": 3824.0, "rss_before": 27066368.0, "rss_after": 89489408.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 90013696, "instructions": 546942916, "cycles": 138094728, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 73.283333, "user_us": 83305.0, "system_us": 3834.0, "rss_before": 36978688.0, "rss_after": 96583680.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 96993280, "instructions": 1665951113, "cycles": 326859493, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 32.829209, "user_us": 29080.0, "system_us": 3757.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89997312, "instructions": 546883722, "cycles": 137271467, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 91.97325, "user_us": 103910.0, "system_us": 6575.0, "rss_before": 77611008.0, "rss_after": 154173440.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167067648, "instructions": 2104860297, "cycles": 502604855, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 32.878, "user_us": 29069.0, "system_us": 3815.0, "rss_before": 27033600.0, "rss_after": 89456640.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89964544, "instructions": 547078913, "cycles": 137653139, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 33.022083, "user_us": 29022.0, "system_us": 4005.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89980928, "instructions": 546969253, "cycles": 137612314, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 88.964042, "user_us": 101441.0, "system_us": 6876.0, "rss_before": 77709312.0, "rss_after": 154271744.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167018496, "instructions": 2105890835, "cycles": 491078763, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 33.141125, "user_us": 29080.0, "system_us": 4070.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89997312, "instructions": 547021300, "cycles": 138260320, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 73.76725, "user_us": 83275.0, "system_us": 4088.0, "rss_before": 36962304.0, "rss_after": 96321536.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 96731136, "instructions": 1664137930, "cycles": 327251279, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 94.16975, "user_us": 106523.0, "system_us": 6734.0, "rss_before": 77742080.0, "rss_after": 154288128.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167149568, "instructions": 2109980170, "cycles": 512083932, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 73.484042, "user_us": 83261.0, "system_us": 3959.0, "rss_before": 36995072.0, "rss_after": 96337920.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 96747520, "instructions": 1665554776, "cycles": 327104615, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 33.158834000000006, "user_us": 29222.0, "system_us": 3944.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89980928, "instructions": 547098456, "cycles": 138383743, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 32.876125, "user_us": 28997.0, "system_us": 3885.0, "rss_before": 27066368.0, "rss_after": 89489408.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 90013696, "instructions": 546961164, "cycles": 137279421, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 73.474583, "user_us": 83089.0, "system_us": 3934.0, "rss_before": 36978688.0, "rss_after": 96632832.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 97042432, "instructions": 1662498698, "cycles": 326194178, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 90.851375, "user_us": 103491.0, "system_us": 6777.0, "rss_before": 77676544.0, "rss_after": 154353664.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167198720, "instructions": 2118955134, "cycles": 504204458, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 33.187708, "user_us": 29176.0, "system_us": 4020.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89980928, "instructions": 547174639, "cycles": 138600537, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 33.0925, "user_us": 29230.0, "system_us": 3871.0, "rss_before": 27049984.0, "rss_after": 89489408.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 90013696, "instructions": 546885646, "cycles": 137835276, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 73.351084, "user_us": 82915.0, "system_us": 3925.0, "rss_before": 36978688.0, "rss_after": 96321536.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 96731136, "instructions": 1664118206, "cycles": 325703024, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 33.025208, "user_us": 29167.0, "system_us": 3867.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89997312, "instructions": 547022639, "cycles": 137973020, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 88.42875, "user_us": 100358.0, "system_us": 6567.0, "rss_before": 77660160.0, "rss_after": 154255360.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167116800, "instructions": 2105566160, "cycles": 490678745, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 33.466166, "user_us": 29662.0, "system_us": 3809.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89980928, "instructions": 546934431, "cycles": 139866001, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 74.267833, "user_us": 84524.0, "system_us": 3731.0, "rss_before": 37011456.0, "rss_after": 96206848.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 96616448, "instructions": 1664989365, "cycles": 330178414, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 33.085333, "user_us": 29480.0, "system_us": 3611.0, "rss_before": 27049984.0, "rss_after": 89473024.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 89980928, "instructions": 546875701, "cycles": 138011879, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 88.85870800000001, "user_us": 100729.0, "system_us": 6774.0, "rss_before": 77594624.0, "rss_after": 154157056.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 167034880, "instructions": 2106860532, "cycles": 492074659, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 33.070875, "user_us": 29167.0, "system_us": 3910.0, "rss_before": 27049984.0, "rss_after": 89489408.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 90013696, "instructions": 547396447, "cycles": 138413899, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 29.703290999999993, "user_us": 27677.0, "system_us": 2033.0, "rss_before": 46301184.0, "rss_after": 81117184.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1315118864, "cycles": 239273729, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 8.234082999999998, "user_us": 7425.0, "system_us": 815.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 620186548, "cycles": 139414102, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 7.231999999999999, "user_us": 6944.0, "system_us": 791.0, "rss_before": 105840640.0, "rss_after": 119996416.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124207104, "instructions": 882154782, "cycles": 227268730, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 29.820166999999998, "user_us": 27727.0, "system_us": 2100.0, "rss_before": 46317568.0, "rss_after": 81100800.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1314224795, "cycles": 239722665, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 29.795041999999995, "user_us": 27776.0, "system_us": 2025.0, "rss_before": 46317568.0, "rss_after": 81133568.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83836928, "instructions": 1313657073, "cycles": 239644072, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 7.211374999999997, "user_us": 6969.0, "system_us": 772.0, "rss_before": 105725952.0, "rss_after": 119881728.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124141568, "instructions": 888720471, "cycles": 238605984, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 29.695125, "user_us": 27637.0, "system_us": 2065.0, "rss_before": 46301184.0, "rss_after": 81084416.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83771392, "instructions": 1311913889, "cycles": 238976118, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 8.262541999999996, "user_us": 7415.0, "system_us": 854.0, "rss_before": 61980672.0, "rss_after": 77053952.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77463552, "instructions": 620596123, "cycles": 139039221, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 7.216000000000001, "user_us": 6936.0, "system_us": 801.0, "rss_before": 105693184.0, "rss_after": 119881728.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124125184, "instructions": 883651116, "cycles": 230612497, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 29.783959000000007, "user_us": 27680.0, "system_us": 2110.0, "rss_before": 46317568.0, "rss_after": 81133568.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83836928, "instructions": 1311977088, "cycles": 240006290, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 29.497165999999996, "user_us": 27669.0, "system_us": 1835.0, "rss_before": 46301184.0, "rss_after": 81117184.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1313579120, "cycles": 237890937, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 8.209832999999996, "user_us": 7398.0, "system_us": 818.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 621768007, "cycles": 146304160, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 7.156917, "user_us": 6888.0, "system_us": 800.0, "rss_before": 105676800.0, "rss_after": 119898112.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124157952, "instructions": 883750027, "cycles": 231614501, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 29.678375, "user_us": 27680.0, "system_us": 2005.0, "rss_before": 46284800.0, "rss_after": 81084416.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83771392, "instructions": 1312150462, "cycles": 238938635, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 8.243875000000003, "user_us": 7422.0, "system_us": 830.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 621276647, "cycles": 140220913, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 29.824583, "user_us": 27746.0, "system_us": 2084.0, "rss_before": 46317568.0, "rss_after": 81100800.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1312107607, "cycles": 239574510, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 29.774791999999998, "user_us": 27721.0, "system_us": 2063.0, "rss_before": 46301184.0, "rss_after": 81084416.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83771392, "instructions": 1311967269, "cycles": 239527765, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 7.240166000000002, "user_us": 6942.0, "system_us": 812.0, "rss_before": 105676800.0, "rss_after": 119881728.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124157952, "instructions": 894549942, "cycles": 239174751, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 29.800625000000004, "user_us": 27689.0, "system_us": 2118.0, "rss_before": 46317568.0, "rss_after": 81100800.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1314088913, "cycles": 240147140, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 8.213583, "user_us": 7403.0, "system_us": 818.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 620785944, "cycles": 139380059, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 29.778916000000002, "user_us": 27694.0, "system_us": 2091.0, "rss_before": 46317568.0, "rss_after": 81133568.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83836928, "instructions": 1312121676, "cycles": 239661958, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 7.562374999999996, "user_us": 7229.0, "system_us": 823.0, "rss_before": 105676800.0, "rss_after": 119881728.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124207104, "instructions": 885366309, "cycles": 230629533, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 29.802540999999998, "user_us": 27707.0, "system_us": 2102.0, "rss_before": 46301184.0, "rss_after": 81084416.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83771392, "instructions": 1313536119, "cycles": 239469652, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 8.213333000000002, "user_us": 7430.0, "system_us": 791.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 620232369, "cycles": 139696028, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 29.825499999999998, "user_us": 27735.0, "system_us": 2098.0, "rss_before": 46301184.0, "rss_after": 81117184.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1313893344, "cycles": 240197868, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 7.219166000000001, "user_us": 6881.0, "system_us": 818.0, "rss_before": 105709568.0, "rss_after": 119848960.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 124092416, "instructions": 889739721, "cycles": 233833812, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 8.191750000000003, "user_us": 7388.0, "system_us": 809.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 620607656, "cycles": 139415806, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 29.973167, "user_us": 27792.0, "system_us": 2187.0, "rss_before": 46317568.0, "rss_after": 81100800.0, "checksum": 7058930.0, "retained": 1.0, "fixture": "records_array_8m", "iterations": 1, "warmup": 0, "peak_rss": 83804160, "instructions": 1312301798, "cycles": 240604633, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 64.5265, "user_us": 61139.0, "system_us": 3395.0, "rss_before": 46317568.0, "rss_after": 103415808.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1600724621, "cycles": 288377014, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 30.472333000000006, "user_us": 32375.0, "system_us": 3307.0, "rss_before": 105725952.0, "rss_after": 151191552.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151830528, "instructions": 1278270115, "cycles": 306153279, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 64.85116699999999, "user_us": 61447.0, "system_us": 3412.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1601334038, "cycles": 288740216, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 33.194917, "user_us": 35204.0, "system_us": 2333.0, "rss_before": 61997056.0, "rss_after": 99106816.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1117532721, "cycles": 231984461, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 64.696708, "user_us": 61165.0, "system_us": 3539.0, "rss_before": 46301184.0, "rss_after": 103448576.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1599319112, "cycles": 288545208, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 32.937124999999995, "user_us": 35281.0, "system_us": 2464.0, "rss_before": 62013440.0, "rss_after": 99106816.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1117871805, "cycles": 232580898, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 30.711292000000007, "user_us": 31877.0, "system_us": 3294.0, "rss_before": 105611264.0, "rss_after": 151109632.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151846912, "instructions": 1280172872, "cycles": 312175981, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 64.64462499999999, "user_us": 61163.0, "system_us": 3492.0, "rss_before": 46317568.0, "rss_after": 103464960.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 104005632, "instructions": 1599220292, "cycles": 289000492, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 64.586667, "user_us": 61342.0, "system_us": 3242.0, "rss_before": 46301184.0, "rss_after": 103399424.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103923712, "instructions": 1599099108, "cycles": 287944749, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 30.773957999999993, "user_us": 31847.0, "system_us": 3192.0, "rss_before": 105840640.0, "rss_after": 151257088.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151912448, "instructions": 1276738549, "cycles": 304319573, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 32.765083000000004, "user_us": 35302.0, "system_us": 2316.0, "rss_before": 61980672.0, "rss_after": 98631680.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99041280, "instructions": 1117117183, "cycles": 232023025, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 64.85329200000001, "user_us": 61201.0, "system_us": 3658.0, "rss_before": 46317568.0, "rss_after": 103415808.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1599391757, "cycles": 290176879, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 30.215333, "user_us": 32078.0, "system_us": 3344.0, "rss_before": 105627648.0, "rss_after": 150913024.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151650304, "instructions": 1278748291, "cycles": 309009024, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 32.817417000000006, "user_us": 35255.0, "system_us": 2336.0, "rss_before": 61997056.0, "rss_after": 99106816.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1118834132, "cycles": 232128954, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 64.807792, "user_us": 61292.0, "system_us": 3528.0, "rss_before": 46284800.0, "rss_after": 103432192.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1599363339, "cycles": 288848618, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 64.75675, "user_us": 61173.0, "system_us": 3592.0, "rss_before": 46301184.0, "rss_after": 103448576.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103989248, "instructions": 1600778574, "cycles": 289243427, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 32.922791000000004, "user_us": 35183.0, "system_us": 2205.0, "rss_before": 62013440.0, "rss_after": 99123200.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99532800, "instructions": 1116978791, "cycles": 231199667, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 64.95416700000001, "user_us": 61281.0, "system_us": 3681.0, "rss_before": 46317568.0, "rss_after": 103448576.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103989248, "instructions": 1600981617, "cycles": 290416433, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 30.354332999999997, "user_us": 32313.0, "system_us": 3301.0, "rss_before": 105676800.0, "rss_after": 151109632.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151781376, "instructions": 1280724989, "cycles": 313096985, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 64.755334, "user_us": 61176.0, "system_us": 3586.0, "rss_before": 46301184.0, "rss_after": 103399424.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103923712, "instructions": 1599375620, "cycles": 289093780, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 64.88612499999999, "user_us": 61265.0, "system_us": 3628.0, "rss_before": 46317568.0, "rss_after": 103464960.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 104005632, "instructions": 1599103643, "cycles": 288871651, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 64.93108399999998, "user_us": 61404.0, "system_us": 3535.0, "rss_before": 46301184.0, "rss_after": 103448576.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1601206440, "cycles": 289904791, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 32.846624999999996, "user_us": 35207.0, "system_us": 2307.0, "rss_before": 61997056.0, "rss_after": 99106816.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1118033456, "cycles": 232234901, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.540875, "user_us": 32521.0, "system_us": 3748.0, "rss_before": 105857024.0, "rss_after": 151191552.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151879680, "instructions": 1282558952, "cycles": 311896983, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 65.021042, "user_us": 61199.0, "system_us": 3828.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1600315364, "cycles": 290162333, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 32.85725, "user_us": 35245.0, "system_us": 2344.0, "rss_before": 61980672.0, "rss_after": 99106816.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1118241727, "cycles": 232374807, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 65.21095799999999, "user_us": 61307.0, "system_us": 3911.0, "rss_before": 46317568.0, "rss_after": 103448576.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 103989248, "instructions": 1600232744, "cycles": 290870438, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 30.657416999999995, "user_us": 32597.0, "system_us": 3629.0, "rss_before": 105725952.0, "rss_after": 151011328.0, "checksum": 28235720.0, "retained": 4.0, "fixture": "records_array_8m", "iterations": 4, "warmup": 0, "peak_rss": 151683072, "instructions": 1285083333, "cycles": 315422322, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 14.522124999999997, "user_us": 14020.0, "system_us": 511.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 660749297, "cycles": 128245079, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 24.7395, "user_us": 27524.0, "system_us": 1884.0, "rss_before": 77660160.0, "rss_after": 98992128.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102514688, "instructions": 767457721, "cycles": 214638178, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 14.434041999999998, "user_us": 14013.0, "system_us": 428.0, "rss_before": 27066368.0, "rss_after": 34799616.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47693824, "instructions": 659293129, "cycles": 128228064, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 18.598084, "user_us": 17513.0, "system_us": 1091.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475272113, "cycles": 111116128, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 14.520292000000001, "user_us": 14096.0, "system_us": 432.0, "rss_before": 27066368.0, "rss_after": 34799616.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47693824, "instructions": 659377288, "cycles": 127941288, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 24.214833, "user_us": 26737.0, "system_us": 1961.0, "rss_before": 77676544.0, "rss_after": 99024896.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102547456, "instructions": 759439836, "cycles": 206088805, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 14.411916999999999, "user_us": 13957.0, "system_us": 461.0, "rss_before": 27033600.0, "rss_after": 34766848.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 660093437, "cycles": 128221977, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 18.550791, "user_us": 17552.0, "system_us": 1005.0, "rss_before": 36995072.0, "rss_after": 54919168.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55328768, "instructions": 475106529, "cycles": 111390877, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 18.532249999999998, "user_us": 17511.0, "system_us": 1027.0, "rss_before": 36995072.0, "rss_after": 54919168.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55328768, "instructions": 475145098, "cycles": 111045132, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 23.396333000000002, "user_us": 26063.0, "system_us": 1932.0, "rss_before": 77660160.0, "rss_after": 99090432.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102629376, "instructions": 761725877, "cycles": 205518880, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 14.409291999999999, "user_us": 13961.0, "system_us": 456.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47677440, "instructions": 659308691, "cycles": 127560882, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 14.433332999999998, "user_us": 14004.0, "system_us": 436.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 659959865, "cycles": 127512771, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 24.457042, "user_us": 27002.0, "system_us": 1941.0, "rss_before": 77660160.0, "rss_after": 99090432.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102645760, "instructions": 761719951, "cycles": 209014394, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 18.608790999999997, "user_us": 17530.0, "system_us": 1084.0, "rss_before": 36962304.0, "rss_after": 54886400.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55296000, "instructions": 475249270, "cycles": 111567456, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 14.595292, "user_us": 14141.0, "system_us": 450.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 660187714, "cycles": 128293627, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 14.47575, "user_us": 14001.0, "system_us": 483.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47677440, "instructions": 659313522, "cycles": 128585441, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 24.2645, "user_us": 26901.0, "system_us": 1984.0, "rss_before": 77660160.0, "rss_after": 98992128.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102449152, "instructions": 764323444, "cycles": 210351521, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 14.373125000000002, "user_us": 13961.0, "system_us": 420.0, "rss_before": 27066368.0, "rss_after": 34799616.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47693824, "instructions": 659284538, "cycles": 127820959, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 14.428875, "user_us": 13994.0, "system_us": 443.0, "rss_before": 27033600.0, "rss_after": 34766848.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47644672, "instructions": 660088023, "cycles": 128214948, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 18.605916999999998, "user_us": 17551.0, "system_us": 1064.0, "rss_before": 36962304.0, "rss_after": 54886400.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55296000, "instructions": 475297117, "cycles": 111213841, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 18.546750000000003, "user_us": 17517.0, "system_us": 1036.0, "rss_before": 36962304.0, "rss_after": 54886400.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55296000, "instructions": 475208774, "cycles": 110970769, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 14.398166999999999, "user_us": 13965.0, "system_us": 439.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 659315880, "cycles": 127858326, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 14.478290999999999, "user_us": 14019.0, "system_us": 465.0, "rss_before": 27066368.0, "rss_after": 34799616.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47693824, "instructions": 659392244, "cycles": 128116901, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 22.805957999999997, "user_us": 25553.0, "system_us": 1934.0, "rss_before": 77709312.0, "rss_after": 99041280.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102596608, "instructions": 764670003, "cycles": 206198659, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 14.480458000000002, "user_us": 14015.0, "system_us": 471.0, "rss_before": 27066368.0, "rss_after": 34799616.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47693824, "instructions": 660049467, "cycles": 128497429, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 14.436166, "user_us": 14037.0, "system_us": 406.0, "rss_before": 27049984.0, "rss_after": 34783232.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 47661056, "instructions": 659964463, "cycles": 128303221, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 23.011291, "user_us": 25548.0, "system_us": 1933.0, "rss_before": 77578240.0, "rss_after": 98975744.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 102481920, "instructions": 764256661, "cycles": 206086797, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 18.549667, "user_us": 17504.0, "system_us": 1052.0, "rss_before": 36978688.0, "rss_after": 54902784.0, "checksum": 1.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 55312384, "instructions": 475301922, "cycles": 111088090, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 93.368208, "user_us": 105024.0, "system_us": 7461.0, "rss_before": 77660160.0, "rss_after": 154173440.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 166969344, "instructions": 2105793428, "cycles": 505803376, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 73.688209, "user_us": 83623.0, "system_us": 4094.0, "rss_before": 36978688.0, "rss_after": 96321536.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96731136, "instructions": 1666489029, "cycles": 328198545, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 89.291041, "user_us": 85010.0, "system_us": 4290.0, "rss_before": 27066368.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789410388, "cycles": 329974756, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 89.366292, "user_us": 84919.0, "system_us": 4453.0, "rss_before": 27033600.0, "rss_after": 95354880.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98746368, "instructions": 1790866550, "cycles": 329902595, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 89.239834, "user_us": 84960.0, "system_us": 4288.0, "rss_before": 27033600.0, "rss_after": 95354880.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98746368, "instructions": 1789530609, "cycles": 329538007, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 92.598417, "user_us": 105399.0, "system_us": 7237.0, "rss_before": 77611008.0, "rss_after": 153944064.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 167198720, "instructions": 2107819643, "cycles": 508593261, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 73.410542, "user_us": 83456.0, "system_us": 3857.0, "rss_before": 36962304.0, "rss_after": 96436224.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96845824, "instructions": 1665824088, "cycles": 326817796, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 89.481333, "user_us": 84969.0, "system_us": 4519.0, "rss_before": 27049984.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789576126, "cycles": 330887667, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 89.443958, "user_us": 85114.0, "system_us": 4339.0, "rss_before": 27033600.0, "rss_after": 95354880.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98746368, "instructions": 1789468028, "cycles": 330506338, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 89.501208, "user_us": 85032.0, "system_us": 4475.0, "rss_before": 27066368.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789403921, "cycles": 330277896, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 86.15375, "user_us": 97983.0, "system_us": 7277.0, "rss_before": 77742080.0, "rss_after": 154288128.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 167198720, "instructions": 2106798497, "cycles": 486547721, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 73.286375, "user_us": 83164.0, "system_us": 4073.0, "rss_before": 36978688.0, "rss_after": 96600064.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 97009664, "instructions": 1666788970, "cycles": 327380939, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 90.555958, "user_us": 103998.0, "system_us": 7353.0, "rss_before": 77578240.0, "rss_after": 153976832.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 166756352, "instructions": 2117691330, "cycles": 503676407, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 89.356042, "user_us": 84970.0, "system_us": 4394.0, "rss_before": 27066368.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1790883714, "cycles": 330626801, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 89.348375, "user_us": 84997.0, "system_us": 4358.0, "rss_before": 27049984.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98762752, "instructions": 1789555415, "cycles": 330238877, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 73.446833, "user_us": 83047.0, "system_us": 4051.0, "rss_before": 36978688.0, "rss_after": 96321536.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96731136, "instructions": 1665480827, "cycles": 326712077, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 94.835542, "user_us": 106587.0, "system_us": 7311.0, "rss_before": 77676544.0, "rss_after": 154222592.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 167067648, "instructions": 2110377989, "cycles": 513159751, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 89.682709, "user_us": 85259.0, "system_us": 4433.0, "rss_before": 27033600.0, "rss_after": 95354880.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98746368, "instructions": 1789663909, "cycles": 331557709, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 73.416625, "user_us": 82890.0, "system_us": 4119.0, "rss_before": 36962304.0, "rss_after": 96354304.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96763904, "instructions": 1663268310, "cycles": 326249651, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 89.68608400000001, "user_us": 85094.0, "system_us": 4598.0, "rss_before": 27066368.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789461442, "cycles": 331458186, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 89.868959, "user_us": 102279.0, "system_us": 7572.0, "rss_before": 77758464.0, "rss_after": 154402816.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 167378944, "instructions": 2113953856, "cycles": 503092494, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 89.474583, "user_us": 84972.0, "system_us": 4509.0, "rss_before": 27066368.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789825756, "cycles": 330656922, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 89.56016699999999, "user_us": 85131.0, "system_us": 4436.0, "rss_before": 27033600.0, "rss_after": 95354880.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98746368, "instructions": 1789551012, "cycles": 330825789, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 73.636375, "user_us": 82717.0, "system_us": 4158.0, "rss_before": 36995072.0, "rss_after": 96370688.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96780288, "instructions": 1660846109, "cycles": 326092735, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 73.403416, "user_us": 83021.0, "system_us": 3922.0, "rss_before": 36995072.0, "rss_after": 96337920.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 96747520, "instructions": 1665110462, "cycles": 325980354, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 89.746292, "user_us": 85202.0, "system_us": 4543.0, "rss_before": 27049984.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98762752, "instructions": 1789553826, "cycles": 330931815, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 86.962917, "user_us": 98853.0, "system_us": 7676.0, "rss_before": 77660160.0, "rss_after": 154157056.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 167084032, "instructions": 2108590338, "cycles": 487905462, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 89.11333300000001, "user_us": 84738.0, "system_us": 4384.0, "rss_before": 27049984.0, "rss_after": 95371264.0, "checksum": 4.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 98779136, "instructions": 1789488691, "cycles": 329645733, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 29.962542, "user_us": 27736.0, "system_us": 2233.0, "rss_before": 46301184.0, "rss_after": 81100800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83787776, "instructions": 1313101451, "cycles": 240246804, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 29.943375, "user_us": 27737.0, "system_us": 2212.0, "rss_before": 46317568.0, "rss_after": 81117184.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1312863867, "cycles": 240341923, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 8.235833, "user_us": 7398.0, "system_us": 844.0, "rss_before": 61980672.0, "rss_after": 77053952.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77463552, "instructions": 621078068, "cycles": 140173315, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 7.342000000000006, "user_us": 6915.0, "system_us": 898.0, "rss_before": 105725952.0, "rss_after": 119881728.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124125184, "instructions": 886412577, "cycles": 236086245, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 30.024707999999997, "user_us": 27751.0, "system_us": 2281.0, "rss_before": 46317568.0, "rss_after": 81149952.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83853312, "instructions": 1314729640, "cycles": 240863636, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 8.278916000000002, "user_us": 7438.0, "system_us": 850.0, "rss_before": 62013440.0, "rss_after": 77086720.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77496320, "instructions": 621815944, "cycles": 140406605, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 7.397417000000004, "user_us": 7049.0, "system_us": 880.0, "rss_before": 105693184.0, "rss_after": 119865344.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124108800, "instructions": 899873950, "cycles": 244747430, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 30.014375000000005, "user_us": 27784.0, "system_us": 2239.0, "rss_before": 46301184.0, "rss_after": 81133568.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1312699011, "cycles": 240338297, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 8.295292, "user_us": 7444.0, "system_us": 858.0, "rss_before": 62013440.0, "rss_after": 77086720.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77496320, "instructions": 620338133, "cycles": 139583251, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 7.342541999999995, "user_us": 6978.0, "system_us": 906.0, "rss_before": 105775104.0, "rss_after": 120012800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124256256, "instructions": 888444961, "cycles": 232990917, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 29.937541999999993, "user_us": 27766.0, "system_us": 2178.0, "rss_before": 46301184.0, "rss_after": 81100800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83787776, "instructions": 1312664832, "cycles": 239607593, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 30.017083, "user_us": 27722.0, "system_us": 2302.0, "rss_before": 46301184.0, "rss_after": 81117184.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1315034318, "cycles": 240744456, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 29.831208000000004, "user_us": 27740.0, "system_us": 2096.0, "rss_before": 46317568.0, "rss_after": 81133568.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83836928, "instructions": 1313258399, "cycles": 238968017, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 8.731000000000005, "user_us": 7790.0, "system_us": 951.0, "rss_before": 62013440.0, "rss_after": 77086720.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77496320, "instructions": 622162572, "cycles": 140351352, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 29.907583999999996, "user_us": 27817.0, "system_us": 2097.0, "rss_before": 46301184.0, "rss_after": 81100800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83787776, "instructions": 1313191275, "cycles": 240115924, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 7.4028749999999945, "user_us": 6964.0, "system_us": 963.0, "rss_before": 105578496.0, "rss_after": 119767040.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124125184, "instructions": 894603551, "cycles": 238465706, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 8.257833999999999, "user_us": 7449.0, "system_us": 816.0, "rss_before": 61997056.0, "rss_after": 77070336.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77479936, "instructions": 622104074, "cycles": 140416794, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 7.371333, "user_us": 7004.0, "system_us": 876.0, "rss_before": 105644032.0, "rss_after": 119799808.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124026880, "instructions": 889053544, "cycles": 232995773, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 30.012, "user_us": 27779.0, "system_us": 2240.0, "rss_before": 46317568.0, "rss_after": 81117184.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1316832143, "cycles": 241521783, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 31.376209000000006, "user_us": 29072.0, "system_us": 2300.0, "rss_before": 46301184.0, "rss_after": 81133568.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1313777173, "cycles": 241380689, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 7.582042000000001, "user_us": 7172.0, "system_us": 939.0, "rss_before": 105594880.0, "rss_after": 119783424.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124076032, "instructions": 892255659, "cycles": 241402773, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 8.157457999999998, "user_us": 7397.0, "system_us": 767.0, "rss_before": 61964288.0, "rss_after": 77037568.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77447168, "instructions": 623211471, "cycles": 139884163, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.421459, "user_us": 28255.0, "system_us": 2172.0, "rss_before": 46301184.0, "rss_after": 81100800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83787776, "instructions": 1312685779, "cycles": 240496716, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.944542000000002, "user_us": 28734.0, "system_us": 2216.0, "rss_before": 46317568.0, "rss_after": 81149952.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83853312, "instructions": 1315078983, "cycles": 241272330, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.502958999999997, "user_us": 28406.0, "system_us": 2103.0, "rss_before": 46301184.0, "rss_after": 81100800.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83787776, "instructions": 1312786594, "cycles": 240468350, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 29.845999999999997, "user_us": 27760.0, "system_us": 2093.0, "rss_before": 46317568.0, "rss_after": 81117184.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 83820544, "instructions": 1312571945, "cycles": 239662850, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 8.260958000000002, "user_us": 7418.0, "system_us": 851.0, "rss_before": 62029824.0, "rss_after": 77103104.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 77512704, "instructions": 621060971, "cycles": 139420723, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 7.236125000000001, "user_us": 6905.0, "system_us": 867.0, "rss_before": 105693184.0, "rss_after": 119898112.0, "checksum": 7058942.0, "retained": 1.0, "fixture": "records_object_8m", "iterations": 1, "warmup": 0, "peak_rss": 124223488, "instructions": 897604531, "cycles": 242834997, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 30.859541999999998, "user_us": 32400.0, "system_us": 3500.0, "rss_before": 105578496.0, "rss_after": 150929408.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151617536, "instructions": 1281790875, "cycles": 308026454, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 33.117916, "user_us": 35259.0, "system_us": 2492.0, "rss_before": 62013440.0, "rss_after": 99106816.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1118797374, "cycles": 232555717, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 64.73845800000001, "user_us": 61375.0, "system_us": 3369.0, "rss_before": 46301184.0, "rss_after": 103415808.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103940096, "instructions": 1600480302, "cycles": 289143809, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 64.956042, "user_us": 61408.0, "system_us": 3553.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1600846471, "cycles": 289525844, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 33.00983299999999, "user_us": 35320.0, "system_us": 2428.0, "rss_before": 62013440.0, "rss_after": 99106816.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1120195832, "cycles": 232424612, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 31.471125, "user_us": 33412.0, "system_us": 3970.0, "rss_before": 105676800.0, "rss_after": 151109632.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151764992, "instructions": 1289943090, "cycles": 320077710, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 65.334792, "user_us": 61589.0, "system_us": 3751.0, "rss_before": 46317568.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1605019428, "cycles": 291003742, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 67.337917, "user_us": 63527.0, "system_us": 3817.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1602693436, "cycles": 290484752, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 33.196584, "user_us": 35395.0, "system_us": 2534.0, "rss_before": 61980672.0, "rss_after": 99090432.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99500032, "instructions": 1121974962, "cycles": 241509870, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 65.839041, "user_us": 61694.0, "system_us": 4151.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1603487730, "cycles": 292465946, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 31.755125000000007, "user_us": 33552.0, "system_us": 3956.0, "rss_before": 105676800.0, "rss_after": 150962176.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151650304, "instructions": 1282498543, "cycles": 312856754, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 66.262, "user_us": 62350.0, "system_us": 3918.0, "rss_before": 46317568.0, "rss_after": 103448576.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103989248, "instructions": 1602727339, "cycles": 290909996, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 34.10937499999999, "user_us": 37435.0, "system_us": 2733.0, "rss_before": 62029824.0, "rss_after": 99106816.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1120487894, "cycles": 235802252, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 31.865875000000003, "user_us": 33646.0, "system_us": 4086.0, "rss_before": 105742336.0, "rss_after": 151060480.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151732224, "instructions": 1286728652, "cycles": 317090330, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 65.86029099999999, "user_us": 62079.0, "system_us": 3788.0, "rss_before": 46317568.0, "rss_after": 103448576.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103989248, "instructions": 1601357610, "cycles": 292320647, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 65.360916, "user_us": 61396.0, "system_us": 3971.0, "rss_before": 46301184.0, "rss_after": 103415808.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103940096, "instructions": 1601229371, "cycles": 291087659, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 33.264666000000005, "user_us": 35365.0, "system_us": 2687.0, "rss_before": 61997056.0, "rss_after": 99106816.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1119793866, "cycles": 233817799, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 65.28720799999999, "user_us": 61315.0, "system_us": 3979.0, "rss_before": 46317568.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1601018802, "cycles": 291223825, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 65.459709, "user_us": 61565.0, "system_us": 3902.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1600887001, "cycles": 290769159, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 30.476958999999994, "user_us": 31767.0, "system_us": 3488.0, "rss_before": 105709568.0, "rss_after": 151076864.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151732224, "instructions": 1282027627, "cycles": 309512852, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 33.097249999999995, "user_us": 35322.0, "system_us": 2592.0, "rss_before": 61980672.0, "rss_after": 99106816.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99516416, "instructions": 1120221347, "cycles": 233415980, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.544041000000007, "user_us": 32431.0, "system_us": 3753.0, "rss_before": 105578496.0, "rss_after": 150667264.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151339008, "instructions": 1285373699, "cycles": 319358189, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 65.416167, "user_us": 61357.0, "system_us": 4064.0, "rss_before": 46317568.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103972864, "instructions": 1603443554, "cycles": 291463268, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 65.488417, "user_us": 61446.0, "system_us": 4050.0, "rss_before": 46301184.0, "rss_after": 103415808.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103940096, "instructions": 1604379771, "cycles": 291517988, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 30.413874999999997, "user_us": 32206.0, "system_us": 3596.0, "rss_before": 105775104.0, "rss_after": 151076864.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 151699456, "instructions": 1281513665, "cycles": 311960920, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 65.670917, "user_us": 61663.0, "system_us": 4001.0, "rss_before": 46301184.0, "rss_after": 103432192.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 103956480, "instructions": 1601095291, "cycles": 291941672, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 33.161958000000006, "user_us": 35388.0, "system_us": 2604.0, "rss_before": 62046208.0, "rss_after": 99139584.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 99549184, "instructions": 1118903733, "cycles": 233467263, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 65.333, "user_us": 61439.0, "system_us": 3900.0, "rss_before": 46317568.0, "rss_after": 103464960.0, "checksum": 28235768.0, "retained": 4.0, "fixture": "records_object_8m", "iterations": 4, "warmup": 0, "peak_rss": 104005632, "instructions": 1601112145, "cycles": 290901679, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.4440829999999991, "user_us": 706.0, "system_us": 109.0, "rss_before": 57786368.0, "rss_after": 59490304.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60588032, "instructions": 302720166, "cycles": 103016489, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.16262500000000024, "user_us": 104.0, "system_us": 62.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17154048, "instructions": 69395758, "cycles": 21503796, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.11704099999999862, "user_us": 68.0, "system_us": 52.0, "rss_before": 30916608.0, "rss_after": 32079872.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32473088, "instructions": 140757968, "cycles": 48694720, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.15783299999999922, "user_us": 101.0, "system_us": 62.0, "rss_before": 14647296.0, "rss_after": 16039936.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17121280, "instructions": 69020857, "cycles": 21587843, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.15562500000000012, "user_us": 102.0, "system_us": 57.0, "rss_before": 14647296.0, "rss_after": 16039936.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17121280, "instructions": 68910322, "cycles": 21143255, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.12566699999999997, "user_us": 68.0, "system_us": 61.0, "rss_before": 30900224.0, "rss_after": 32063488.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32456704, "instructions": 139531472, "cycles": 48687767, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.4562500000000007, "user_us": 710.0, "system_us": 107.0, "rss_before": 57737216.0, "rss_after": 59392000.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60456960, "instructions": 302978284, "cycles": 103131258, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.1600419999999998, "user_us": 103.0, "system_us": 61.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17154048, "instructions": 69046579, "cycles": 21559864, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.48858399999999946, "user_us": 770.0, "system_us": 126.0, "rss_before": 57638912.0, "rss_after": 59342848.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60407808, "instructions": 303221880, "cycles": 104994927, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.12933400000000006, "user_us": 76.0, "system_us": 57.0, "rss_before": 30949376.0, "rss_after": 32112640.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32505856, "instructions": 140996266, "cycles": 51687518, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.1760419999999998, "user_us": 110.0, "system_us": 70.0, "rss_before": 14647296.0, "rss_after": 16039936.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17121280, "instructions": 69038315, "cycles": 21687929, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.174709, "user_us": 110.0, "system_us": 68.0, "rss_before": 14680064.0, "rss_after": 16072704.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17170432, "instructions": 69089196, "cycles": 21810334, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.12983299999999964, "user_us": 72.0, "system_us": 61.0, "rss_before": 30965760.0, "rss_after": 32129024.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32522240, "instructions": 140232217, "cycles": 50455382, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.1773750000000005, "user_us": 110.0, "system_us": 72.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17154048, "instructions": 68914866, "cycles": 21586926, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.4776670000000003, "user_us": 794.0, "system_us": 126.0, "rss_before": 57819136.0, "rss_after": 59506688.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60588032, "instructions": 298489065, "cycles": 101069466, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.1695410000000006, "user_us": 106.0, "system_us": 67.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17137664, "instructions": 68734604, "cycles": 21189196, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.16612500000000008, "user_us": 105.0, "system_us": 65.0, "rss_before": 14680064.0, "rss_after": 16072704.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17170432, "instructions": 68871103, "cycles": 21629494, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.15658299999999947, "user_us": 102.0, "system_us": 58.0, "rss_before": 14647296.0, "rss_after": 16039936.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17121280, "instructions": 68844641, "cycles": 21088089, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.4465830000000004, "user_us": 700.0, "system_us": 107.0, "rss_before": 57802752.0, "rss_after": 59441152.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60522496, "instructions": 303953896, "cycles": 104760499, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.12504200000000054, "user_us": 70.0, "system_us": 58.0, "rss_before": 30900224.0, "rss_after": 32063488.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32456704, "instructions": 139401250, "cycles": 48744331, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.16262500000000024, "user_us": 102.0, "system_us": 65.0, "rss_before": 14647296.0, "rss_after": 16039936.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17121280, "instructions": 68794561, "cycles": 21111726, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.44683299999999804, "user_us": 699.0, "system_us": 112.0, "rss_before": 57720832.0, "rss_after": 59408384.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60506112, "instructions": 303845216, "cycles": 104655848, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.15399999999999947, "user_us": 103.0, "system_us": 58.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17154048, "instructions": 68800177, "cycles": 21482250, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.1239170000000005, "user_us": 69.0, "system_us": 59.0, "rss_before": 30916608.0, "rss_after": 32079872.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32489472, "instructions": 139436575, "cycles": 48742456, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.45308299999999946, "user_us": 701.0, "system_us": 116.0, "rss_before": 57655296.0, "rss_after": 59392000.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 60538880, "instructions": 305125169, "cycles": 105176976, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.15900000000000025, "user_us": 102.0, "system_us": 61.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17137664, "instructions": 68762553, "cycles": 21211797, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.15791699999999986, "user_us": 103.0, "system_us": 59.0, "rss_before": 14663680.0, "rss_after": 16056320.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 17154048, "instructions": 68839439, "cycles": 21208858, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.13208299999999973, "user_us": 79.0, "system_us": 56.0, "rss_before": 30932992.0, "rss_after": 32096256.0, "checksum": 1.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 32489472, "instructions": 139439001, "cycles": 48925554, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 4.170375, "user_us": 2574.0, "system_us": 1907.0, "rss_before": 30900224.0, "rss_after": 64634880.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65044480, "instructions": 188421816, "cycles": 62808285, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 14.248875, "user_us": 12758.0, "system_us": 2176.0, "rss_before": 57802752.0, "rss_after": 93667328.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94633984, "instructions": 525888450, "cycles": 147929877, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.18249999999999966, "user_us": 121.0, "system_us": 68.0, "rss_before": 14680064.0, "rss_after": 16089088.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17186816, "instructions": 69015488, "cycles": 21544488, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.17212499999999986, "user_us": 117.0, "system_us": 62.0, "rss_before": 14647296.0, "rss_after": 16056320.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17137664, "instructions": 68949338, "cycles": 21149014, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.17604100000000011, "user_us": 115.0, "system_us": 65.0, "rss_before": 14663680.0, "rss_after": 16072704.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17170432, "instructions": 69117868, "cycles": 21192057, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 14.201416, "user_us": 12723.0, "system_us": 2140.0, "rss_before": 57868288.0, "rss_after": 93700096.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94633984, "instructions": 524877837, "cycles": 147310042, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 4.103792, "user_us": 2599.0, "system_us": 1892.0, "rss_before": 30916608.0, "rss_after": 64667648.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65077248, "instructions": 188774765, "cycles": 62675892, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.17900000000000027, "user_us": 117.0, "system_us": 67.0, "rss_before": 14663680.0, "rss_after": 16072704.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17154048, "instructions": 69086102, "cycles": 21241776, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.1783330000000003, "user_us": 119.0, "system_us": 66.0, "rss_before": 14647296.0, "rss_after": 16056320.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17137664, "instructions": 69064057, "cycles": 21107199, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.16779200000000039, "user_us": 115.0, "system_us": 56.0, "rss_before": 14680064.0, "rss_after": 16089088.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17186816, "instructions": 69125421, "cycles": 21341204, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 14.334958, "user_us": 12811.0, "system_us": 2194.0, "rss_before": 57753600.0, "rss_after": 93585408.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94535680, "instructions": 532409955, "cycles": 152918901, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 4.025374999999999, "user_us": 2559.0, "system_us": 1804.0, "rss_before": 30932992.0, "rss_after": 64651264.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65060864, "instructions": 188439340, "cycles": 62265712, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.17337500000000006, "user_us": 116.0, "system_us": 60.0, "rss_before": 14663680.0, "rss_after": 16072704.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17154048, "instructions": 68983335, "cycles": 21330973, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 4.118458, "user_us": 2572.0, "system_us": 1885.0, "rss_before": 30900224.0, "rss_after": 64651264.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65060864, "instructions": 188566821, "cycles": 62927692, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 14.204583, "user_us": 12740.0, "system_us": 2140.0, "rss_before": 57802752.0, "rss_after": 93634560.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94584832, "instructions": 527263893, "cycles": 148315140, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.17420900000000028, "user_us": 115.0, "system_us": 66.0, "rss_before": 14680064.0, "rss_after": 16089088.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17186816, "instructions": 69033203, "cycles": 21420740, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.17366700000000002, "user_us": 115.0, "system_us": 65.0, "rss_before": 14663680.0, "rss_after": 16072704.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17170432, "instructions": 69089213, "cycles": 21276248, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.16841699999999982, "user_us": 115.0, "system_us": 60.0, "rss_before": 14647296.0, "rss_after": 16056320.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17137664, "instructions": 69072500, "cycles": 21383940, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 14.260625, "user_us": 12714.0, "system_us": 2203.0, "rss_before": 57819136.0, "rss_after": 93700096.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94650368, "instructions": 526143200, "cycles": 148044674, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 4.036707999999999, "user_us": 2569.0, "system_us": 1816.0, "rss_before": 30900224.0, "rss_after": 64634880.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65044480, "instructions": 188411139, "cycles": 62720311, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.17891600000000007, "user_us": 114.0, "system_us": 69.0, "rss_before": 14647296.0, "rss_after": 16056320.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17137664, "instructions": 69033522, "cycles": 21326835, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 14.257542, "user_us": 12737.0, "system_us": 2181.0, "rss_before": 57786368.0, "rss_after": 93618176.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94601216, "instructions": 526686861, "cycles": 148907358, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.1731659999999997, "user_us": 116.0, "system_us": 60.0, "rss_before": 14680064.0, "rss_after": 16089088.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17186816, "instructions": 69064544, "cycles": 21359943, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 4.215083999999999, "user_us": 2603.0, "system_us": 2029.0, "rss_before": 30982144.0, "rss_after": 64765952.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65175552, "instructions": 189452810, "cycles": 63496966, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.1670420000000008, "user_us": 115.0, "system_us": 56.0, "rss_before": 14680064.0, "rss_after": 16089088.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17186816, "instructions": 69078509, "cycles": 21480445, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 4.101709, "user_us": 2595.0, "system_us": 1904.0, "rss_before": 30965760.0, "rss_after": 64716800.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 65126400, "instructions": 189374462, "cycles": 62870509, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.17070899999999956, "user_us": 116.0, "system_us": 58.0, "rss_before": 14647296.0, "rss_after": 16056320.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 17137664, "instructions": 69032721, "cycles": 20982286, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 14.197833, "user_us": 12758.0, "system_us": 2101.0, "rss_before": 57851904.0, "rss_after": 93618176.0, "checksum": 32.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 94584832, "instructions": 530664011, "cycles": 151070587, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.13891700000000018, "user_us": 80.0, "system_us": 67.0, "rss_before": 17416192.0, "rss_after": 18579456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19677184, "instructions": 71594792, "cycles": 22389280, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.15954200000000007, "user_us": 100.0, "system_us": 63.0, "rss_before": 33128448.0, "rss_after": 34242560.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34652160, "instructions": 141235641, "cycles": 49947666, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.13104099999999974, "user_us": 76.0, "system_us": 59.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71475580, "cycles": 22214660, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.3831249999999997, "user_us": 687.0, "system_us": 200.0, "rss_before": 60637184.0, "rss_after": 63635456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64618496, "instructions": 310481882, "cycles": 107278551, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.3865830000000017, "user_us": 745.0, "system_us": 228.0, "rss_before": 60686336.0, "rss_after": 63717376.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64749568, "instructions": 318716339, "cycles": 115048922, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.12862500000000043, "user_us": 79.0, "system_us": 57.0, "rss_before": 17416192.0, "rss_after": 18579456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19677184, "instructions": 71361661, "cycles": 22231336, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.13433399999999995, "user_us": 80.0, "system_us": 59.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71399346, "cycles": 22215215, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.14912499999999973, "user_us": 103.0, "system_us": 49.0, "rss_before": 33161216.0, "rss_after": 34275328.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34684928, "instructions": 141496453, "cycles": 50200798, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.129624999999999, "user_us": 79.0, "system_us": 54.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71400647, "cycles": 22209051, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.41600000000000037, "user_us": 722.0, "system_us": 236.0, "rss_before": 60653568.0, "rss_after": 63684608.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64667648, "instructions": 311518490, "cycles": 108413775, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.1275000000000004, "user_us": 77.0, "system_us": 55.0, "rss_before": 17416192.0, "rss_after": 18579456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19677184, "instructions": 71699541, "cycles": 22122153, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.150208000000001, "user_us": 100.0, "system_us": 54.0, "rss_before": 33112064.0, "rss_after": 34226176.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34652160, "instructions": 142109827, "cycles": 49666145, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.14358299999999957, "user_us": 99.0, "system_us": 47.0, "rss_before": 33128448.0, "rss_after": 34242560.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34652160, "instructions": 141204803, "cycles": 49086366, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.14262499999999978, "user_us": 81.0, "system_us": 69.0, "rss_before": 17416192.0, "rss_after": 18579456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19677184, "instructions": 71575316, "cycles": 23436016, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.3781250000000007, "user_us": 726.0, "system_us": 196.0, "rss_before": 60686336.0, "rss_after": 63750144.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64733184, "instructions": 306810843, "cycles": 103737339, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.13333300000000037, "user_us": 75.0, "system_us": 62.0, "rss_before": 17383424.0, "rss_after": 18546688.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71448930, "cycles": 22086463, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.12625000000000064, "user_us": 76.0, "system_us": 53.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19660800, "instructions": 71474398, "cycles": 21946328, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.14575000000000138, "user_us": 101.0, "system_us": 49.0, "rss_before": 33128448.0, "rss_after": 34242560.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34652160, "instructions": 141205516, "cycles": 49389660, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.12941700000000012, "user_us": 77.0, "system_us": 56.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71458467, "cycles": 21912420, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.3901660000000007, "user_us": 725.0, "system_us": 207.0, "rss_before": 60522496.0, "rss_after": 63569920.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64552960, "instructions": 318215805, "cycles": 112848431, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.39554199999999895, "user_us": 729.0, "system_us": 207.0, "rss_before": 60686336.0, "rss_after": 63700992.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64700416, "instructions": 311210296, "cycles": 107921432, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.12837499999999924, "user_us": 77.0, "system_us": 56.0, "rss_before": 17416192.0, "rss_after": 18579456.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19677184, "instructions": 71412466, "cycles": 22369153, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.1251250000000006, "user_us": 75.0, "system_us": 57.0, "rss_before": 17383424.0, "rss_after": 18546688.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71469777, "cycles": 22131239, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.1588750000000001, "user_us": 99.0, "system_us": 62.0, "rss_before": 33128448.0, "rss_after": 34242560.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34668544, "instructions": 141230308, "cycles": 49692770, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.12787499999999952, "user_us": 76.0, "system_us": 56.0, "rss_before": 17399808.0, "rss_after": 18563072.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19660800, "instructions": 71427894, "cycles": 22140643, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.3915419999999976, "user_us": 725.0, "system_us": 217.0, "rss_before": 60702720.0, "rss_after": 63717376.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64700416, "instructions": 311160197, "cycles": 107945418, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.13658399999999915, "user_us": 80.0, "system_us": 61.0, "rss_before": 17383424.0, "rss_after": 18546688.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71530786, "cycles": 22624721, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.14787500000000087, "user_us": 100.0, "system_us": 51.0, "rss_before": 33144832.0, "rss_after": 34258944.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 34668544, "instructions": 141360697, "cycles": 49520099, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 5.450707999999999, "user_us": 3829.0, "system_us": 2119.0, "rss_before": 33161216.0, "rss_after": 66879488.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67305472, "instructions": 183387452, "cycles": 69407511, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 5.498457999999999, "user_us": 3980.0, "system_us": 2106.0, "rss_before": 60620800.0, "rss_after": 96813056.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97812480, "instructions": 375540819, "cycles": 125429364, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 6.290125, "user_us": 3920.0, "system_us": 2354.0, "rss_before": 17416192.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128456953, "cycles": 42697293, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 5.4379170000000006, "user_us": 3437.0, "system_us": 2005.0, "rss_before": 17399808.0, "rss_after": 53706752.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54247424, "instructions": 128385095, "cycles": 39993688, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 5.489291000000001, "user_us": 3443.0, "system_us": 2049.0, "rss_before": 17416192.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128373693, "cycles": 40417954, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 5.042875, "user_us": 3590.0, "system_us": 1927.0, "rss_before": 33128448.0, "rss_after": 66912256.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67338240, "instructions": 182605450, "cycles": 66259954, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 5.489624999999999, "user_us": 3459.0, "system_us": 2035.0, "rss_before": 17383424.0, "rss_after": 53673984.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54214656, "instructions": 128248338, "cycles": 40429650, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 5.671583000000002, "user_us": 4122.0, "system_us": 2141.0, "rss_before": 60604416.0, "rss_after": 96878592.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97861632, "instructions": 374480575, "cycles": 124894849, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 5.433292, "user_us": 3432.0, "system_us": 2005.0, "rss_before": 17399808.0, "rss_after": 53673984.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54214656, "instructions": 128200332, "cycles": 39717294, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 4.976082999999997, "user_us": 3549.0, "system_us": 1839.0, "rss_before": 33112064.0, "rss_after": 66846720.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67272704, "instructions": 182497196, "cycles": 66590971, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 5.640125000000001, "user_us": 4089.0, "system_us": 2123.0, "rss_before": 60653568.0, "rss_after": 96927744.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97959936, "instructions": 378670863, "cycles": 128395286, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 5.498125, "user_us": 3447.0, "system_us": 2058.0, "rss_before": 17416192.0, "rss_after": 53690368.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54247424, "instructions": 128283307, "cycles": 40081743, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 5.3701669999999995, "user_us": 3429.0, "system_us": 1946.0, "rss_before": 17399808.0, "rss_after": 53706752.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54247424, "instructions": 128248025, "cycles": 39608611, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 4.997292, "user_us": 3588.0, "system_us": 1859.0, "rss_before": 33144832.0, "rss_after": 66912256.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67338240, "instructions": 182647323, "cycles": 66428548, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 5.4985409999999995, "user_us": 3465.0, "system_us": 2036.0, "rss_before": 17399808.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128344719, "cycles": 40062998, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 5.525500000000001, "user_us": 3904.0, "system_us": 2164.0, "rss_before": 60686336.0, "rss_after": 96976896.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97943552, "instructions": 376415046, "cycles": 125612935, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 5.3562080000000005, "user_us": 3427.0, "system_us": 1937.0, "rss_before": 17416192.0, "rss_after": 53690368.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54247424, "instructions": 128175678, "cycles": 39553459, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 5.0824169999999995, "user_us": 3597.0, "system_us": 1952.0, "rss_before": 33128448.0, "rss_after": 66895872.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67321856, "instructions": 182662145, "cycles": 66726844, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 5.614542, "user_us": 4046.0, "system_us": 2154.0, "rss_before": 60702720.0, "rss_after": 96911360.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97894400, "instructions": 372967485, "cycles": 123528109, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 5.489334, "user_us": 3428.0, "system_us": 2067.0, "rss_before": 17399808.0, "rss_after": 53673984.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54214656, "instructions": 128220532, "cycles": 40111134, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 5.045999999999998, "user_us": 3574.0, "system_us": 1927.0, "rss_before": 33144832.0, "rss_after": 66928640.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67354624, "instructions": 182819303, "cycles": 66655850, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.473042, "user_us": 3412.0, "system_us": 2069.0, "rss_before": 17416192.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128287870, "cycles": 39891294, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.412208, "user_us": 3445.0, "system_us": 1973.0, "rss_before": 17383424.0, "rss_after": 53690368.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54231040, "instructions": 128221775, "cycles": 39704400, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.538333999999999, "user_us": 4010.0, "system_us": 2118.0, "rss_before": 60588032.0, "rss_after": 96878592.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97894400, "instructions": 372556035, "cycles": 122365753, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.689459000000003, "user_us": 4139.0, "system_us": 2143.0, "rss_before": 60669952.0, "rss_after": 96944128.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97927168, "instructions": 372880251, "cycles": 123110350, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 5.53675, "user_us": 3422.0, "system_us": 2122.0, "rss_before": 17416192.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128348290, "cycles": 40325493, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 4.983958999999999, "user_us": 3570.0, "system_us": 1818.0, "rss_before": 33128448.0, "rss_after": 66895872.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 67321856, "instructions": 182668297, "cycles": 66560127, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 5.379917, "user_us": 3469.0, "system_us": 1914.0, "rss_before": 17383424.0, "rss_after": 53690368.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54231040, "instructions": 128370930, "cycles": 39704471, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.11612500000000026, "user_us": 63.0, "system_us": 56.0, "rss_before": 31752192.0, "rss_after": 32800768.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33193984, "instructions": 148132949, "cycles": 50709239, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.21279099999999973, "user_us": 149.0, "system_us": 71.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16433152, "instructions": 67154695, "cycles": 20612226, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.7172909999999995, "user_us": 1050.0, "system_us": 189.0, "rss_before": 58507264.0, "rss_after": 60653568.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61440000, "instructions": 318159178, "cycles": 113513331, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.19100000000000028, "user_us": 146.0, "system_us": 51.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16449536, "instructions": 67164146, "cycles": 20678004, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.20162499999999994, "user_us": 146.0, "system_us": 60.0, "rss_before": 14123008.0, "rss_after": 15335424.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16416768, "instructions": 67058358, "cycles": 20848020, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.20295799999999975, "user_us": 146.0, "system_us": 60.0, "rss_before": 14155776.0, "rss_after": 15368192.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16465920, "instructions": 67107846, "cycles": 20619651, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.10733300000000057, "user_us": 62.0, "system_us": 48.0, "rss_before": 31784960.0, "rss_after": 32833536.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33226752, "instructions": 148299217, "cycles": 50672479, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.7339999999999982, "user_us": 1052.0, "system_us": 183.0, "rss_before": 58490880.0, "rss_after": 60637184.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61407232, "instructions": 316474538, "cycles": 111681632, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.2059169999999999, "user_us": 157.0, "system_us": 54.0, "rss_before": 14155776.0, "rss_after": 15368192.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16465920, "instructions": 67069334, "cycles": 21209870, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.11379200000000012, "user_us": 62.0, "system_us": 55.0, "rss_before": 31784960.0, "rss_after": 32833536.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33226752, "instructions": 148396965, "cycles": 51099670, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.19733299999999998, "user_us": 145.0, "system_us": 59.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16433152, "instructions": 67157338, "cycles": 20934368, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.7102080000000015, "user_us": 1043.0, "system_us": 179.0, "rss_before": 58572800.0, "rss_after": 60702720.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61456384, "instructions": 312006324, "cycles": 107703188, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.19354199999999944, "user_us": 146.0, "system_us": 51.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16449536, "instructions": 67178640, "cycles": 20774121, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.7114580000000004, "user_us": 1040.0, "system_us": 176.0, "rss_before": 58556416.0, "rss_after": 60702720.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61440000, "instructions": 311462058, "cycles": 107116385, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.11120900000000056, "user_us": 62.0, "system_us": 52.0, "rss_before": 31784960.0, "rss_after": 32833536.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33226752, "instructions": 148368845, "cycles": 50848360, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.19466699999999992, "user_us": 145.0, "system_us": 53.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16433152, "instructions": 67014122, "cycles": 20520953, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.19599999999999929, "user_us": 145.0, "system_us": 54.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16433152, "instructions": 67116920, "cycles": 20797988, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.1908329999999996, "user_us": 145.0, "system_us": 49.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16449536, "instructions": 67147835, "cycles": 20589489, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.737957999999999, "user_us": 1107.0, "system_us": 199.0, "rss_before": 58441728.0, "rss_after": 60604416.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61374464, "instructions": 307779440, "cycles": 103358209, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.12433300000000003, "user_us": 65.0, "system_us": 62.0, "rss_before": 31784960.0, "rss_after": 32833536.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33226752, "instructions": 149623091, "cycles": 51987392, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.19470799999999988, "user_us": 150.0, "system_us": 49.0, "rss_before": 14155776.0, "rss_after": 15368192.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16465920, "instructions": 67275460, "cycles": 20983024, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.712374999999998, "user_us": 1044.0, "system_us": 181.0, "rss_before": 58589184.0, "rss_after": 60719104.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61472768, "instructions": 310912265, "cycles": 107188550, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.11287499999999895, "user_us": 62.0, "system_us": 54.0, "rss_before": 31784960.0, "rss_after": 32833536.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33226752, "instructions": 148306102, "cycles": 50690919, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.191125, "user_us": 145.0, "system_us": 50.0, "rss_before": 14123008.0, "rss_after": 15335424.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16416768, "instructions": 67156520, "cycles": 20658189, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.19037499999999996, "user_us": 146.0, "system_us": 48.0, "rss_before": 14123008.0, "rss_after": 15335424.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16416768, "instructions": 67056212, "cycles": 20437460, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.11687500000000028, "user_us": 63.0, "system_us": 57.0, "rss_before": 31768576.0, "rss_after": 32817152.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 33210368, "instructions": 148286997, "cycles": 50687830, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.1925840000000001, "user_us": 146.0, "system_us": 50.0, "rss_before": 14139392.0, "rss_after": 15351808.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 16449536, "instructions": 67179263, "cycles": 20893302, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.7272920000000003, "user_us": 1080.0, "system_us": 194.0, "rss_before": 58458112.0, "rss_after": 60571648.0, "checksum": 1.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 61374464, "instructions": 306266549, "cycles": 103518882, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 3.371583000000001, "user_us": 1694.0, "system_us": 1680.0, "rss_before": 31768576.0, "rss_after": 61865984.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62275584, "instructions": 187997257, "cycles": 60963281, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.21279199999999987, "user_us": 158.0, "system_us": 58.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16465920, "instructions": 67296266, "cycles": 20938499, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.2044579999999998, "user_us": 159.0, "system_us": 49.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67322437, "cycles": 20653820, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 16.301584, "user_us": 15051.0, "system_us": 1911.0, "rss_before": 58507264.0, "rss_after": 90701824.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91406336, "instructions": 462690182, "cycles": 159858773, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 0.21095899999999945, "user_us": 158.0, "system_us": 59.0, "rss_before": 14155776.0, "rss_after": 15384576.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16482304, "instructions": 67288293, "cycles": 20848967, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 16.233041999999998, "user_us": 14961.0, "system_us": 1956.0, "rss_before": 58507264.0, "rss_after": 90669056.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91357184, "instructions": 460516904, "cycles": 157090061, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.2058329999999997, "user_us": 159.0, "system_us": 51.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67378152, "cycles": 20795042, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 3.304958000000001, "user_us": 1696.0, "system_us": 1613.0, "rss_before": 31801344.0, "rss_after": 61898752.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62308352, "instructions": 188558617, "cycles": 61260640, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 0.20654099999999964, "user_us": 157.0, "system_us": 53.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16465920, "instructions": 67372207, "cycles": 20818093, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 3.3200000000000003, "user_us": 1697.0, "system_us": 1626.0, "rss_before": 31768576.0, "rss_after": 61865984.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62275584, "instructions": 187845530, "cycles": 60636077, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.20791699999999969, "user_us": 158.0, "system_us": 54.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67313595, "cycles": 20757925, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 16.190208, "user_us": 14931.0, "system_us": 1935.0, "rss_before": 58621952.0, "rss_after": 90750976.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91389952, "instructions": 457848863, "cycles": 155387715, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 0.21158400000000022, "user_us": 158.0, "system_us": 60.0, "rss_before": 14155776.0, "rss_after": 15384576.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16482304, "instructions": 67363349, "cycles": 20941919, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 0.21108299999999947, "user_us": 158.0, "system_us": 57.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67273001, "cycles": 20987589, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 3.293292000000001, "user_us": 1695.0, "system_us": 1601.0, "rss_before": 31784960.0, "rss_after": 61882368.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62291968, "instructions": 187975300, "cycles": 61000638, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 16.254792000000002, "user_us": 14954.0, "system_us": 1956.0, "rss_before": 58605568.0, "rss_after": 90718208.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91373568, "instructions": 468531076, "cycles": 165063200, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 3.3040000000000003, "user_us": 1699.0, "system_us": 1609.0, "rss_before": 31801344.0, "rss_after": 61898752.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62308352, "instructions": 187989289, "cycles": 61169542, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.20787500000000003, "user_us": 158.0, "system_us": 56.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67321299, "cycles": 20661885, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 16.242625, "user_us": 14936.0, "system_us": 1963.0, "rss_before": 58441728.0, "rss_after": 90652672.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91340800, "instructions": 461681418, "cycles": 159325616, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.2132080000000003, "user_us": 158.0, "system_us": 61.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16465920, "instructions": 67348602, "cycles": 20894734, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 0.20825000000000005, "user_us": 158.0, "system_us": 57.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16465920, "instructions": 67268186, "cycles": 20674901, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 16.299708999999996, "user_us": 14983.0, "system_us": 2006.0, "rss_before": 58490880.0, "rss_after": 90636288.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91324416, "instructions": 458301952, "cycles": 156571995, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 3.2584999999999997, "user_us": 1697.0, "system_us": 1566.0, "rss_before": 31752192.0, "rss_after": 61849600.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62259200, "instructions": 187854439, "cycles": 61115678, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.22391599999999956, "user_us": 169.0, "system_us": 58.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16449536, "instructions": 67356837, "cycles": 20868461, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 0.21404099999999993, "user_us": 158.0, "system_us": 59.0, "rss_before": 14139392.0, "rss_after": 15368192.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16465920, "instructions": 67334156, "cycles": 20785249, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 16.204499999999996, "user_us": 14954.0, "system_us": 1914.0, "rss_before": 58458112.0, "rss_after": 90603520.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 91258880, "instructions": 460633269, "cycles": 158053374, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.20995799999999987, "user_us": 161.0, "system_us": 53.0, "rss_before": 14123008.0, "rss_after": 15351808.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 16433152, "instructions": 67305987, "cycles": 20674526, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 3.2820410000000013, "user_us": 1703.0, "system_us": 1583.0, "rss_before": 31768576.0, "rss_after": 61882368.0, "checksum": 32.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 62291968, "instructions": 188030022, "cycles": 61080113, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 0.11149999999999949, "user_us": 66.0, "system_us": 49.0, "rss_before": 16351232.0, "rss_after": 17350656.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18432000, "instructions": 69238866, "cycles": 21787248, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.5839160000000003, "user_us": 463.0, "system_us": 123.0, "rss_before": 33734656.0, "rss_after": 35733504.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36159488, "instructions": 156502089, "cycles": 52913011, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.6754159999999985, "user_us": 1018.0, "system_us": 199.0, "rss_before": 61095936.0, "rss_after": 63963136.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64700416, "instructions": 326689972, "cycles": 113965136, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.11250000000000027, "user_us": 66.0, "system_us": 50.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 69153318, "cycles": 21449848, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.6002089999999995, "user_us": 469.0, "system_us": 134.0, "rss_before": 33767424.0, "rss_after": 36225024.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36651008, "instructions": 156760193, "cycles": 52981347, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.6850829999999988, "user_us": 1027.0, "system_us": 216.0, "rss_before": 61030400.0, "rss_after": 63913984.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64634880, "instructions": 321338282, "cycles": 109564604, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.1107079999999998, "user_us": 66.0, "system_us": 49.0, "rss_before": 16384000.0, "rss_after": 17383424.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 69230663, "cycles": 21490615, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.1120830000000006, "user_us": 67.0, "system_us": 49.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69160177, "cycles": 21277422, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.5738330000000005, "user_us": 473.0, "system_us": 105.0, "rss_before": 33767424.0, "rss_after": 35749888.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36175872, "instructions": 156742452, "cycles": 52963603, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.6784999999999997, "user_us": 1024.0, "system_us": 210.0, "rss_before": 61079552.0, "rss_after": 63963136.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64684032, "instructions": 320792323, "cycles": 109159911, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.11683299999999974, "user_us": 65.0, "system_us": 55.0, "rss_before": 16384000.0, "rss_after": 17383424.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 69249061, "cycles": 21524460, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.10929199999999994, "user_us": 66.0, "system_us": 46.0, "rss_before": 16351232.0, "rss_after": 17350656.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18432000, "instructions": 69226604, "cycles": 21343472, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.11545799999999984, "user_us": 66.0, "system_us": 53.0, "rss_before": 16351232.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69269310, "cycles": 21282682, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.6752499999999984, "user_us": 1017.0, "system_us": 211.0, "rss_before": 61014016.0, "rss_after": 63913984.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64602112, "instructions": 325003665, "cycles": 112335332, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.5700409999999998, "user_us": 463.0, "system_us": 110.0, "rss_before": 33816576.0, "rss_after": 35815424.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36241408, "instructions": 157032164, "cycles": 53360787, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.1107910000000003, "user_us": 66.0, "system_us": 48.0, "rss_before": 16384000.0, "rss_after": 17383424.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 69241310, "cycles": 21453929, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.5803330000000013, "user_us": 463.0, "system_us": 120.0, "rss_before": 33751040.0, "rss_after": 35749888.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36175872, "instructions": 156547111, "cycles": 53039790, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.11887500000000006, "user_us": 67.0, "system_us": 59.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69244185, "cycles": 21606739, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.11083300000000085, "user_us": 68.0, "system_us": 49.0, "rss_before": 16384000.0, "rss_after": 17383424.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18481152, "instructions": 69182174, "cycles": 21408692, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.670582999999997, "user_us": 1029.0, "system_us": 196.0, "rss_before": 61079552.0, "rss_after": 63946752.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64667648, "instructions": 324988708, "cycles": 112235684, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.5895419999999998, "user_us": 468.0, "system_us": 125.0, "rss_before": 33751040.0, "rss_after": 36208640.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36634624, "instructions": 156628204, "cycles": 52880321, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.11624999999999996, "user_us": 65.0, "system_us": 55.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69263403, "cycles": 21736757, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.11220800000000031, "user_us": 65.0, "system_us": 53.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 69174668, "cycles": 21288079, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.6720420000000011, "user_us": 1035.0, "system_us": 211.0, "rss_before": 61046784.0, "rss_after": 63946752.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64634880, "instructions": 328438651, "cycles": 115449111, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.5693330000000003, "user_us": 470.0, "system_us": 103.0, "rss_before": 33751040.0, "rss_after": 35733504.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36159488, "instructions": 156552618, "cycles": 53211362, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.11908399999999997, "user_us": 66.0, "system_us": 60.0, "rss_before": 16367616.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18464768, "instructions": 69228405, "cycles": 21664673, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.11554199999999959, "user_us": 65.0, "system_us": 53.0, "rss_before": 16351232.0, "rss_after": 17367040.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69230809, "cycles": 21338609, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.6782090000000025, "user_us": 1031.0, "system_us": 198.0, "rss_before": 61145088.0, "rss_after": 64028672.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64765952, "instructions": 326587161, "cycles": 112488654, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.884125, "user_us": 14160.0, "system_us": 1729.0, "rss_before": 33734656.0, "rss_after": 65290240.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65716224, "instructions": 384228170, "cycles": 101591088, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 15.339333, "user_us": 14014.0, "system_us": 1956.0, "rss_before": 61079552.0, "rss_after": 93667328.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94371840, "instructions": 603646725, "cycles": 157058628, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 2.1477500000000003, "user_us": 680.0, "system_us": 1472.0, "rss_before": 16384000.0, "rss_after": 43991040.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45088768, "instructions": 85680851, "cycles": 28373981, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 2.1747499999999995, "user_us": 679.0, "system_us": 1499.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85650074, "cycles": 28345085, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 2.226791, "user_us": 640.0, "system_us": 1591.0, "rss_before": 16367616.0, "rss_after": 43991040.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45088768, "instructions": 85587727, "cycles": 28717771, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.817708, "user_us": 14108.0, "system_us": 1714.0, "rss_before": 33849344.0, "rss_after": 64913408.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65339392, "instructions": 384812930, "cycles": 101442103, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 2.1078750000000004, "user_us": 654.0, "system_us": 1457.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85473622, "cycles": 28041581, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.134500000000003, "user_us": 13825.0, "system_us": 1935.0, "rss_before": 61079552.0, "rss_after": 93634560.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94322688, "instructions": 611080604, "cycles": 161766389, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.83225, "user_us": 14153.0, "system_us": 1683.0, "rss_before": 33718272.0, "rss_after": 65241088.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65667072, "instructions": 384332961, "cycles": 101410087, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 15.378041999999997, "user_us": 14006.0, "system_us": 1950.0, "rss_before": 60964864.0, "rss_after": 93552640.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94289920, "instructions": 602711906, "cycles": 155571678, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.0561249999999993, "user_us": 653.0, "system_us": 1406.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85548505, "cycles": 28161031, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.113208, "user_us": 653.0, "system_us": 1464.0, "rss_before": 16384000.0, "rss_after": 43991040.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45088768, "instructions": 85643933, "cycles": 28233853, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.101375, "user_us": 643.0, "system_us": 1461.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85576767, "cycles": 28128185, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 2.2806669999999998, "user_us": 665.0, "system_us": 1619.0, "rss_before": 16384000.0, "rss_after": 43991040.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45088768, "instructions": 85667624, "cycles": 28611184, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.768082999999999, "user_us": 14134.0, "system_us": 1638.0, "rss_before": 33767424.0, "rss_after": 64831488.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65257472, "instructions": 384576657, "cycles": 101176528, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 15.122125, "user_us": 13816.0, "system_us": 1921.0, "rss_before": 61095936.0, "rss_after": 93683712.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94339072, "instructions": 600609492, "cycles": 152766270, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 2.1307500000000004, "user_us": 670.0, "system_us": 1467.0, "rss_before": 16384000.0, "rss_after": 43991040.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45088768, "instructions": 85585821, "cycles": 28696628, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.850292, "user_us": 14206.0, "system_us": 1648.0, "rss_before": 33734656.0, "rss_after": 64815104.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65241088, "instructions": 384327982, "cycles": 102322106, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.378499999999999, "user_us": 14040.0, "system_us": 1928.0, "rss_before": 61030400.0, "rss_after": 93601792.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94306304, "instructions": 601384522, "cycles": 155232314, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 2.1754160000000002, "user_us": 658.0, "system_us": 1520.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85560950, "cycles": 28353345, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.32675, "user_us": 13974.0, "system_us": 1995.0, "rss_before": 61112320.0, "rss_after": 93683712.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94388224, "instructions": 607257026, "cycles": 159043249, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.231458000000001, "user_us": 645.0, "system_us": 1590.0, "rss_before": 16351232.0, "rss_after": 43958272.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45039616, "instructions": 85734372, "cycles": 28923685, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.2521249999999995, "user_us": 644.0, "system_us": 1612.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45072384, "instructions": 85664283, "cycles": 28511803, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 15.861790999999998, "user_us": 14205.0, "system_us": 1660.0, "rss_before": 33816576.0, "rss_after": 65355776.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65781760, "instructions": 384794743, "cycles": 101741502, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.135625, "user_us": 653.0, "system_us": 1486.0, "rss_before": 16367616.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45072384, "instructions": 85559853, "cycles": 28015133, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 2.088833, "user_us": 668.0, "system_us": 1425.0, "rss_before": 16351232.0, "rss_after": 43974656.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85569347, "cycles": 27979148, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.817375, "user_us": 14091.0, "system_us": 1729.0, "rss_before": 33767424.0, "rss_after": 64847872.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65273856, "instructions": 384304239, "cycles": 101403419, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.159125, "user_us": 13872.0, "system_us": 1900.0, "rss_before": 61161472.0, "rss_after": 93683712.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94388224, "instructions": 605988564, "cycles": 157890248, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.995915999999999, "user_us": 6823.0, "system_us": 702.0, "rss_before": 57868288.0, "rss_after": 68943872.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69730304, "instructions": 381267249, "cycles": 124260879, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 5.723917, "user_us": 5292.0, "system_us": 435.0, "rss_before": 30834688.0, "rss_after": 38109184.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38518784, "instructions": 214555131, "cycles": 66968842, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 2.5915000000000004, "user_us": 2212.0, "system_us": 386.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22478848, "instructions": 101639304, "cycles": 29336865, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 2.5999159999999994, "user_us": 2231.0, "system_us": 373.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22495232, "instructions": 101561855, "cycles": 29123196, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 6.928750000000001, "user_us": 6790.0, "system_us": 665.0, "rss_before": 57966592.0, "rss_after": 69042176.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69828608, "instructions": 379904218, "cycles": 122185516, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 5.7212499999999995, "user_us": 5269.0, "system_us": 455.0, "rss_before": 30834688.0, "rss_after": 38109184.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38518784, "instructions": 214678463, "cycles": 66711036, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 2.609458, "user_us": 2226.0, "system_us": 387.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22495232, "instructions": 101505273, "cycles": 29234363, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 2.6200419999999998, "user_us": 2237.0, "system_us": 389.0, "rss_before": 14319616.0, "rss_after": 21643264.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22462464, "instructions": 101599794, "cycles": 29216880, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 5.698333, "user_us": 5263.0, "system_us": 438.0, "rss_before": 30834688.0, "rss_after": 38109184.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38518784, "instructions": 214506970, "cycles": 66565893, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 2.626000000000001, "user_us": 2222.0, "system_us": 408.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22478848, "instructions": 101650153, "cycles": 29476397, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 7.008583000000002, "user_us": 6854.0, "system_us": 679.0, "rss_before": 57868288.0, "rss_after": 68894720.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69713920, "instructions": 382371609, "cycles": 125023082, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 2.6307500000000004, "user_us": 2249.0, "system_us": 386.0, "rss_before": 14352384.0, "rss_after": 21676032.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22511616, "instructions": 101611909, "cycles": 29340193, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 5.6679590000000015, "user_us": 5265.0, "system_us": 407.0, "rss_before": 30851072.0, "rss_after": 38125568.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38535168, "instructions": 214401065, "cycles": 66376199, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 2.6095840000000003, "user_us": 2226.0, "system_us": 391.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22495232, "instructions": 101517403, "cycles": 29235973, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 2.6259580000000002, "user_us": 2236.0, "system_us": 397.0, "rss_before": 14319616.0, "rss_after": 21643264.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22462464, "instructions": 101640762, "cycles": 29297712, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 7.065000000000001, "user_us": 6900.0, "system_us": 693.0, "rss_before": 57950208.0, "rss_after": 69009408.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69812224, "instructions": 383102387, "cycles": 125947504, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 5.7436250000000015, "user_us": 5273.0, "system_us": 476.0, "rss_before": 30834688.0, "rss_after": 38109184.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38518784, "instructions": 214679631, "cycles": 66915724, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 2.5976250000000007, "user_us": 2216.0, "system_us": 387.0, "rss_before": 14352384.0, "rss_after": 21676032.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22511616, "instructions": 101521126, "cycles": 29248707, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 6.962584000000001, "user_us": 6804.0, "system_us": 682.0, "rss_before": 57884672.0, "rss_after": 68911104.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69713920, "instructions": 382530934, "cycles": 125074630, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 2.5922080000000003, "user_us": 2219.0, "system_us": 378.0, "rss_before": 14336000.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22478848, "instructions": 101524753, "cycles": 29234415, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 6.934084000000002, "user_us": 6787.0, "system_us": 692.0, "rss_before": 57917440.0, "rss_after": 68993024.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69763072, "instructions": 382704926, "cycles": 125325563, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 2.6307499999999995, "user_us": 2254.0, "system_us": 380.0, "rss_before": 14319616.0, "rss_after": 21659648.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22478848, "instructions": 101605206, "cycles": 29433792, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 5.746582999999999, "user_us": 5286.0, "system_us": 464.0, "rss_before": 30834688.0, "rss_after": 38109184.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38518784, "instructions": 214551235, "cycles": 66852142, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 2.589959, "user_us": 2222.0, "system_us": 375.0, "rss_before": 14352384.0, "rss_after": 21676032.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22511616, "instructions": 101535573, "cycles": 29137600, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 5.642999999999999, "user_us": 5258.0, "system_us": 389.0, "rss_before": 30851072.0, "rss_after": 38125568.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 38535168, "instructions": 214402799, "cycles": 66406650, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 2.6042500000000004, "user_us": 2220.0, "system_us": 390.0, "rss_before": 14319616.0, "rss_after": 21643264.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22462464, "instructions": 101580405, "cycles": 29426092, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 7.2585419999999985, "user_us": 7094.0, "system_us": 692.0, "rss_before": 57933824.0, "rss_after": 68993024.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 69844992, "instructions": 382207568, "cycles": 125555567, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 2.601208, "user_us": 2223.0, "system_us": 385.0, "rss_before": 14352384.0, "rss_after": 21676032.0, "checksum": 1.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 22511616, "instructions": 101641595, "cycles": 29523868, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 68.23812500000001, "user_us": 66044.0, "system_us": 2679.0, "rss_before": 30834688.0, "rss_after": 72269824.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72679424, "instructions": 1230750311, "cycles": 268590938, "engine": "bun", "operation": "retain-parse", "rep": 0} +{"wall_ms": 59.322666, "user_us": 54808.0, "system_us": 4522.0, "rss_before": 14336000.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978938573, "cycles": 214523542, "engine": "perry", "operation": "retain-parse", "rep": 0} +{"wall_ms": 58.81912499999999, "user_us": 54603.0, "system_us": 4220.0, "rss_before": 14352384.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978453671, "cycles": 212490197, "engine": "baseline", "operation": "retain-parse", "rep": 0} +{"wall_ms": 86.306875, "user_us": 84896.0, "system_us": 4015.0, "rss_before": 58015744.0, "rss_after": 118128640.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118784000, "instructions": 1438655900, "cycles": 388501464, "engine": "node", "operation": "retain-parse", "rep": 0} +{"wall_ms": 59.21062499999999, "user_us": 54736.0, "system_us": 4481.0, "rss_before": 14336000.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978652559, "cycles": 213798229, "engine": "baseline", "operation": "retain-parse", "rep": 1} +{"wall_ms": 86.597333, "user_us": 85114.0, "system_us": 4154.0, "rss_before": 57917440.0, "rss_after": 118079488.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118767616, "instructions": 1433482415, "cycles": 385430533, "engine": "node", "operation": "retain-parse", "rep": 1} +{"wall_ms": 68.392875, "user_us": 66043.0, "system_us": 2829.0, "rss_before": 30851072.0, "rss_after": 72286208.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72695808, "instructions": 1231511564, "cycles": 268994051, "engine": "bun", "operation": "retain-parse", "rep": 1} +{"wall_ms": 59.072416999999994, "user_us": 54724.0, "system_us": 4356.0, "rss_before": 14319616.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978841062, "cycles": 213275674, "engine": "perry", "operation": "retain-parse", "rep": 1} +{"wall_ms": 86.56270900000001, "user_us": 85042.0, "system_us": 4189.0, "rss_before": 57901056.0, "rss_after": 118177792.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118849536, "instructions": 1435449645, "cycles": 386568299, "engine": "node", "operation": "retain-parse", "rep": 2} +{"wall_ms": 58.951542, "user_us": 54712.0, "system_us": 4248.0, "rss_before": 14319616.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978589804, "cycles": 212613185, "engine": "perry", "operation": "retain-parse", "rep": 2} +{"wall_ms": 68.163958, "user_us": 65930.0, "system_us": 2654.0, "rss_before": 30818304.0, "rss_after": 72237056.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72646656, "instructions": 1230718835, "cycles": 268312466, "engine": "bun", "operation": "retain-parse", "rep": 2} +{"wall_ms": 59.295249999999996, "user_us": 54759.0, "system_us": 4543.0, "rss_before": 14352384.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978719559, "cycles": 213895396, "engine": "baseline", "operation": "retain-parse", "rep": 2} +{"wall_ms": 86.596333, "user_us": 84999.0, "system_us": 4260.0, "rss_before": 57917440.0, "rss_after": 118046720.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118734848, "instructions": 1439486290, "cycles": 390549072, "engine": "node", "operation": "retain-parse", "rep": 3} +{"wall_ms": 58.927625, "user_us": 54636.0, "system_us": 4296.0, "rss_before": 14319616.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978425876, "cycles": 212698114, "engine": "perry", "operation": "retain-parse", "rep": 3} +{"wall_ms": 68.398875, "user_us": 66125.0, "system_us": 2780.0, "rss_before": 30834688.0, "rss_after": 72253440.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72663040, "instructions": 1231160544, "cycles": 269423716, "engine": "bun", "operation": "retain-parse", "rep": 3} +{"wall_ms": 58.994417000000006, "user_us": 54636.0, "system_us": 4365.0, "rss_before": 14336000.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978278222, "cycles": 212859587, "engine": "baseline", "operation": "retain-parse", "rep": 3} +{"wall_ms": 67.92500000000001, "user_us": 65763.0, "system_us": 2574.0, "rss_before": 30801920.0, "rss_after": 72204288.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72613888, "instructions": 1230389637, "cycles": 267318855, "engine": "bun", "operation": "retain-parse", "rep": 4} +{"wall_ms": 59.240458000000004, "user_us": 54737.0, "system_us": 4508.0, "rss_before": 14352384.0, "rss_after": 80920576.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81461248, "instructions": 978466836, "cycles": 213907121, "engine": "baseline", "operation": "retain-parse", "rep": 4} +{"wall_ms": 86.33895899999999, "user_us": 84879.0, "system_us": 4162.0, "rss_before": 57835520.0, "rss_after": 118030336.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118734848, "instructions": 1434241611, "cycles": 385218407, "engine": "node", "operation": "retain-parse", "rep": 4} +{"wall_ms": 59.063209, "user_us": 54737.0, "system_us": 4330.0, "rss_before": 14319616.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978612839, "cycles": 213513392, "engine": "perry", "operation": "retain-parse", "rep": 4} +{"wall_ms": 59.09654200000001, "user_us": 54769.0, "system_us": 4335.0, "rss_before": 14319616.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978691312, "cycles": 213207331, "engine": "perry", "operation": "retain-parse", "rep": 5} +{"wall_ms": 58.7715, "user_us": 54678.0, "system_us": 4100.0, "rss_before": 14352384.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978277328, "cycles": 212122186, "engine": "baseline", "operation": "retain-parse", "rep": 5} +{"wall_ms": 85.919333, "user_us": 84513.0, "system_us": 4116.0, "rss_before": 58048512.0, "rss_after": 118194176.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118865920, "instructions": 1433381283, "cycles": 382225721, "engine": "node", "operation": "retain-parse", "rep": 5} +{"wall_ms": 68.666209, "user_us": 66500.0, "system_us": 2761.0, "rss_before": 30851072.0, "rss_after": 72286208.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72695808, "instructions": 1231678500, "cycles": 270319316, "engine": "bun", "operation": "retain-parse", "rep": 5} +{"wall_ms": 86.646833, "user_us": 85167.0, "system_us": 4157.0, "rss_before": 57950208.0, "rss_after": 118145024.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 118784000, "instructions": 1435489684, "cycles": 386937350, "engine": "node", "operation": "retain-parse", "rep": 6} +{"wall_ms": 59.061707999999996, "user_us": 54779.0, "system_us": 4287.0, "rss_before": 14352384.0, "rss_after": 80904192.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81444864, "instructions": 978591089, "cycles": 213443431, "engine": "baseline", "operation": "retain-parse", "rep": 6} +{"wall_ms": 58.938041000000005, "user_us": 54653.0, "system_us": 4289.0, "rss_before": 14336000.0, "rss_after": 80887808.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 81412096, "instructions": 978598093, "cycles": 212906551, "engine": "perry", "operation": "retain-parse", "rep": 6} +{"wall_ms": 68.358, "user_us": 66157.0, "system_us": 2771.0, "rss_before": 30818304.0, "rss_after": 72286208.0, "checksum": 16.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 72695808, "instructions": 1231450390, "cycles": 269245750, "engine": "bun", "operation": "retain-parse", "rep": 6} +{"wall_ms": 2.5161670000000003, "user_us": 2420.0, "system_us": 101.0, "rss_before": 22593536.0, "rss_after": 23937024.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25018368, "instructions": 132869926, "cycles": 38781524, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 2.500749999999999, "user_us": 2416.0, "system_us": 89.0, "rss_before": 22626304.0, "rss_after": 23969792.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25067520, "instructions": 132856507, "cycles": 38581679, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 7.064167000000001, "user_us": 7348.0, "system_us": 175.0, "rss_before": 69730304.0, "rss_after": 72105984.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72843264, "instructions": 445633019, "cycles": 148135818, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.7866669999999978, "user_us": 662.0, "system_us": 129.0, "rss_before": 39075840.0, "rss_after": 41172992.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41582592, "instructions": 231181242, "cycles": 70044086, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 2.4922079999999998, "user_us": 2419.0, "system_us": 78.0, "rss_before": 22593536.0, "rss_after": 23937024.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25018368, "instructions": 132951881, "cycles": 38539247, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 7.134, "user_us": 7436.0, "system_us": 203.0, "rss_before": 69582848.0, "rss_after": 71942144.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72679424, "instructions": 448132003, "cycles": 151941700, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 2.487958, "user_us": 2413.0, "system_us": 80.0, "rss_before": 22626304.0, "rss_after": 23969792.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25067520, "instructions": 132894366, "cycles": 38681157, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.7788749999999993, "user_us": 663.0, "system_us": 119.0, "rss_before": 39075840.0, "rss_after": 41189376.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41598976, "instructions": 230014169, "cycles": 69372047, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.7897919999999985, "user_us": 663.0, "system_us": 130.0, "rss_before": 39075840.0, "rss_after": 41172992.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41582592, "instructions": 229926371, "cycles": 69270881, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.4870410000000005, "user_us": 2409.0, "system_us": 82.0, "rss_before": 22609920.0, "rss_after": 23953408.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25051136, "instructions": 132860120, "cycles": 38920674, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.4785000000000004, "user_us": 2403.0, "system_us": 84.0, "rss_before": 22609920.0, "rss_after": 23953408.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25034752, "instructions": 132860934, "cycles": 38593586, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 7.107541999999999, "user_us": 7456.0, "system_us": 180.0, "rss_before": 69697536.0, "rss_after": 72089600.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72794112, "instructions": 448987122, "cycles": 152479706, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.493958, "user_us": 2423.0, "system_us": 79.0, "rss_before": 22609920.0, "rss_after": 23953408.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25034752, "instructions": 132714245, "cycles": 38325518, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 2.4969579999999993, "user_us": 2420.0, "system_us": 84.0, "rss_before": 22626304.0, "rss_after": 23969792.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25067520, "instructions": 132729669, "cycles": 38462021, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 7.149084000000002, "user_us": 7430.0, "system_us": 197.0, "rss_before": 69779456.0, "rss_after": 72220672.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72908800, "instructions": 448140491, "cycles": 151818584, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.7834579999999995, "user_us": 663.0, "system_us": 125.0, "rss_before": 39108608.0, "rss_after": 41205760.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41615360, "instructions": 230073608, "cycles": 69848385, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 7.097708999999998, "user_us": 7363.0, "system_us": 193.0, "rss_before": 69664768.0, "rss_after": 72056832.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72777728, "instructions": 442619076, "cycles": 146943386, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.7632499999999993, "user_us": 664.0, "system_us": 104.0, "rss_before": 39059456.0, "rss_after": 41156608.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41566208, "instructions": 230000700, "cycles": 69594035, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 2.5040840000000006, "user_us": 2421.0, "system_us": 90.0, "rss_before": 22626304.0, "rss_after": 23969792.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25067520, "instructions": 132906966, "cycles": 38936790, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 2.496542, "user_us": 2415.0, "system_us": 87.0, "rss_before": 22593536.0, "rss_after": 23937024.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25018368, "instructions": 132841840, "cycles": 38606152, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.7687500000000007, "user_us": 662.0, "system_us": 110.0, "rss_before": 39092224.0, "rss_after": 41189376.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41598976, "instructions": 230553461, "cycles": 69831457, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.505333000000001, "user_us": 2421.0, "system_us": 89.0, "rss_before": 22626304.0, "rss_after": 23969792.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25067520, "instructions": 132892960, "cycles": 38708630, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.4873340000000006, "user_us": 2403.0, "system_us": 88.0, "rss_before": 22593536.0, "rss_after": 23937024.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25018368, "instructions": 132766172, "cycles": 38580552, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 7.123207999999998, "user_us": 7411.0, "system_us": 222.0, "rss_before": 69681152.0, "rss_after": 72122368.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72843264, "instructions": 445487584, "cycles": 149213254, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.7750000000000021, "user_us": 666.0, "system_us": 114.0, "rss_before": 39124992.0, "rss_after": 41222144.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 41631744, "instructions": 230022833, "cycles": 69545314, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 2.5037499999999993, "user_us": 2421.0, "system_us": 88.0, "rss_before": 22609920.0, "rss_after": 23953408.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25051136, "instructions": 132805162, "cycles": 38892208, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 2.5016669999999994, "user_us": 2429.0, "system_us": 76.0, "rss_before": 22593536.0, "rss_after": 23937024.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 25018368, "instructions": 132908427, "cycles": 38801915, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 7.0652919999999995, "user_us": 7384.0, "system_us": 184.0, "rss_before": 69779456.0, "rss_after": 72237056.0, "checksum": 977781.0, "retained": 1.0, "fixture": "wide_1m", "iterations": 1, "warmup": 0, "peak_rss": 72941568, "instructions": 443026957, "cycles": 146924898, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 12.047833, "user_us": 11169.0, "system_us": 884.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38830080, "instructions": 341428912, "cycles": 69442586, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 103.840042, "user_us": 102832.0, "system_us": 1772.0, "rss_before": 69812224.0, "rss_after": 91029504.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91684864, "instructions": 1287368565, "cycles": 458465641, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 11.981625, "user_us": 11180.0, "system_us": 807.0, "rss_before": 22626304.0, "rss_after": 37765120.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38862848, "instructions": 341421579, "cycles": 69333453, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 11.304959, "user_us": 10296.0, "system_us": 1013.0, "rss_before": 39092224.0, "rss_after": 56098816.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56508416, "instructions": 447632891, "cycles": 103310181, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 12.174249999999999, "user_us": 11185.0, "system_us": 998.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38830080, "instructions": 341459627, "cycles": 70209406, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 12.021875, "user_us": 11183.0, "system_us": 843.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38846464, "instructions": 341384607, "cycles": 69376565, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 103.70666700000001, "user_us": 102739.0, "system_us": 1644.0, "rss_before": 69730304.0, "rss_after": 90865664.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91553792, "instructions": 1290532188, "cycles": 460194869, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 11.282332999999998, "user_us": 10329.0, "system_us": 961.0, "rss_before": 39124992.0, "rss_after": 56131584.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56541184, "instructions": 447684047, "cycles": 103465510, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 12.028333000000002, "user_us": 11179.0, "system_us": 854.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38830080, "instructions": 341418784, "cycles": 69594230, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 102.875458, "user_us": 101618.0, "system_us": 1923.0, "rss_before": 69632000.0, "rss_after": 90865664.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91537408, "instructions": 1293478264, "cycles": 457424238, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 12.014875, "user_us": 11153.0, "system_us": 867.0, "rss_before": 22626304.0, "rss_after": 37765120.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38862848, "instructions": 341331098, "cycles": 69231608, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 11.221582999999999, "user_us": 10305.0, "system_us": 920.0, "rss_before": 39075840.0, "rss_after": 56082432.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56492032, "instructions": 447634349, "cycles": 103142875, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 12.007000000000001, "user_us": 11178.0, "system_us": 833.0, "rss_before": 22593536.0, "rss_after": 37732352.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38813696, "instructions": 341453065, "cycles": 69325512, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 11.269750000000002, "user_us": 10309.0, "system_us": 968.0, "rss_before": 39108608.0, "rss_after": 56115200.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56524800, "instructions": 447681013, "cycles": 103309691, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 12.029333999999999, "user_us": 11191.0, "system_us": 844.0, "rss_before": 22609920.0, "rss_after": 37765120.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38862848, "instructions": 341513512, "cycles": 69577475, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 102.30687499999999, "user_us": 101170.0, "system_us": 1826.0, "rss_before": 69713920.0, "rss_after": 90865664.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91586560, "instructions": 1288174296, "cycles": 451467921, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 12.032708999999999, "user_us": 11175.0, "system_us": 862.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38830080, "instructions": 341428386, "cycles": 69510052, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 11.274375, "user_us": 10306.0, "system_us": 973.0, "rss_before": 39108608.0, "rss_after": 56131584.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56541184, "instructions": 447708097, "cycles": 103733225, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 101.999584, "user_us": 101104.0, "system_us": 1579.0, "rss_before": 69763072.0, "rss_after": 90865664.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91570176, "instructions": 1297027030, "cycles": 459218649, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 12.056791999999998, "user_us": 11175.0, "system_us": 887.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38846464, "instructions": 341465162, "cycles": 69471893, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 103.058667, "user_us": 102024.0, "system_us": 1706.0, "rss_before": 69730304.0, "rss_after": 90816512.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91488256, "instructions": 1290707818, "cycles": 457199420, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 12.002292, "user_us": 11180.0, "system_us": 827.0, "rss_before": 22609920.0, "rss_after": 37748736.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38830080, "instructions": 341353156, "cycles": 69492532, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 12.040959, "user_us": 11173.0, "system_us": 873.0, "rss_before": 22626304.0, "rss_after": 37765120.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38862848, "instructions": 341427865, "cycles": 69394177, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 11.254708, "user_us": 10306.0, "system_us": 953.0, "rss_before": 39092224.0, "rss_after": 56115200.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56524800, "instructions": 447563005, "cycles": 103177605, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 11.966875000000002, "user_us": 11172.0, "system_us": 800.0, "rss_before": 22626304.0, "rss_after": 37765120.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38862848, "instructions": 341320664, "cycles": 69036375, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 12.004375, "user_us": 11173.0, "system_us": 836.0, "rss_before": 22593536.0, "rss_after": 37732352.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 38813696, "instructions": 341478318, "cycles": 69554764, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 11.264707999999999, "user_us": 10312.0, "system_us": 961.0, "rss_before": 39075840.0, "rss_after": 56082432.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 56492032, "instructions": 447560594, "cycles": 103124365, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 103.105541, "user_us": 101936.0, "system_us": 1853.0, "rss_before": 69763072.0, "rss_after": 90898432.0, "checksum": 15644496.0, "retained": 16.0, "fixture": "wide_1m", "iterations": 16, "warmup": 0, "peak_rss": 91570176, "instructions": 1289114329, "cycles": 455411867, "engine": "node", "operation": "retain-stringify", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-after.txt new file mode 100644 index 0000000000..f2b0ade5fd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-after.txt @@ -0,0 +1,579 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.0 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 0.3 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.0 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.4 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 1.8 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.1 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.0 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess + 9489 0.0 sshd-session: perry [priv] + 9490 0.0 + 9492 0.0 sshd-session: perry@notty + 9493 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python +10676 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10677 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10678 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10679 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10680 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10685 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10686 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10687 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +11006 0.0 /System/Applications/Mail.app/Contents/PlugIns/MailCacheDelete.appex/Contents/MacOS/MailCacheDelete +11015 0.0 /System/Applications/Music.app/Contents/PlugIns/MusicCacheExtension.appex/Contents/MacOS/MusicCacheExtension +11039 0.0 /System/Applications/TV.app/Contents/PlugIns/TVCacheExtension.appex/Contents/MacOS/TVCacheExtension +11041 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/PlugIns/CacheDeleteExtension.appex/Contents/MacOS/CacheDeleteExtension +11888 0.0 ps +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 10.8 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.8 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-before.txt new file mode 100644 index 0000000000..ce27eea083 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-before.txt @@ -0,0 +1,573 @@ + PID %CPU COMM + 1 0.9 /sbin/launchd + 94 0.9 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.8 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 1.3 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 10.0 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 1.0 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.0 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess + 9394 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9395 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9396 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9397 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9398 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9399 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 9489 8.1 sshd-session: perry [priv] + 9490 0.0 + 9492 0.0 sshd-session: perry@notty + 9493 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 9494 0.0 ps +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 8.5 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.7 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained-command.json new file mode 100644 index 0000000000..76ff5eaf07 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained-command.json @@ -0,0 +1,17 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-retained.py", + "--worker", + ".work/zero-spacing-r25/candidate-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-retained" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained.log new file mode 100644 index 0000000000..27634802fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-9493-1789116378 load (1.49072265625, 1.84130859375, 1.7587890625) +FINISHED custom load (1.8466796875, 1.8818359375, 1.7763671875) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/summary.json new file mode 100644 index 0000000000..09c2edea37 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/summary.json @@ -0,0 +1,6770 @@ +[ + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 32.0, + "cpu_samples_us": [ + 32.0, + 32.0, + 33.0, + 30.0, + 31.0, + 33.0, + 38.0 + ], + "peak_rss_mib": 12.96875, + "peak_rss_samples_mib": [ + 12.96875, + 12.984375, + 12.96875, + 12.96875, + 12.96875, + 12.96875, + 12.984375 + ], + "rss_after_mib": 11.90625, + "rss_after_samples_mib": [ + 11.90625, + 11.921875, + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.921875 + ], + "rss_before_mib": 11.609375, + "rss_before_samples_mib": [ + 11.609375, + 11.625, + 11.609375, + 11.609375, + 11.609375, + 11.609375, + 11.625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 31.0, + "cpu_samples_us": [ + 31.0, + 31.0, + 32.0, + 34.0, + 30.0, + 32.0, + 31.0 + ], + "peak_rss_mib": 13.0, + "peak_rss_samples_mib": [ + 13.015625, + 13.015625, + 13.0, + 13.0, + 13.0, + 13.0, + 13.015625 + ], + "rss_after_mib": 11.921875, + "rss_after_samples_mib": [ + 11.9375, + 11.9375, + 11.921875, + 11.921875, + 11.921875, + 11.921875, + 11.9375 + ], + "rss_before_mib": 11.625, + "rss_before_samples_mib": [ + 11.640625, + 11.640625, + 11.625, + 11.625, + 11.625, + 11.625, + 11.640625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 381.0, + "cpu_samples_us": [ + 381.0, + 380.0, + 397.0, + 383.0, + 379.0, + 381.0, + 377.0 + ], + "peak_rss_mib": 53.609375, + "peak_rss_samples_mib": [ + 53.640625, + 53.609375, + 53.59375, + 53.640625, + 53.5625, + 53.65625, + 53.609375 + ], + "rss_after_mib": 52.859375, + "rss_after_samples_mib": [ + 52.90625, + 52.859375, + 52.8125, + 52.90625, + 52.796875, + 52.875, + 52.8125 + ], + "rss_before_mib": 52.25, + "rss_before_samples_mib": [ + 52.28125, + 52.21875, + 52.25, + 52.28125, + 52.1875, + 52.28125, + 52.203125 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 9.0, + "cpu_samples_us": [ + 13.0, + 9.0, + 12.0, + 8.0, + 10.0, + 9.0, + 9.0 + ], + "peak_rss_mib": 28.71875, + "peak_rss_samples_mib": [ + 28.71875, + 28.71875, + 28.703125, + 28.6875, + 28.765625, + 28.734375, + 28.703125 + ], + "rss_after_mib": 28.328125, + "rss_after_samples_mib": [ + 28.328125, + 28.328125, + 28.3125, + 28.3125, + 28.375, + 28.34375, + 28.3125 + ], + "rss_before_mib": 28.25, + "rss_before_samples_mib": [ + 28.25, + 28.25, + 28.234375, + 28.234375, + 28.296875, + 28.265625, + 28.234375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 200000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.044485, + "cpu_samples_us": [ + 0.0443, + 0.044055, + 0.04451, + 0.045035, + 0.044535, + 0.044485, + 0.044105 + ], + "peak_rss_mib": 25.421875, + "peak_rss_samples_mib": [ + 25.421875, + 25.4375, + 25.4375, + 25.4375, + 25.421875, + 25.421875, + 25.421875 + ], + "rss_after_mib": 24.390625, + "rss_after_samples_mib": [ + 24.390625, + 24.40625, + 24.40625, + 24.40625, + 24.390625, + 24.390625, + 24.390625 + ], + "rss_before_mib": 11.609375, + "rss_before_samples_mib": [ + 11.609375, + 11.625, + 11.609375, + 11.625, + 11.609375, + 11.609375, + 11.609375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 200000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.044305, + "cpu_samples_us": [ + 0.044495, + 0.04464, + 0.04427, + 0.04406, + 0.044135, + 0.044305, + 0.044415 + ], + "peak_rss_mib": 25.46875, + "peak_rss_samples_mib": [ + 25.46875, + 25.453125, + 25.46875, + 25.46875, + 25.453125, + 25.453125, + 25.46875 + ], + "rss_after_mib": 24.421875, + "rss_after_samples_mib": [ + 24.421875, + 24.40625, + 24.421875, + 24.421875, + 24.40625, + 24.40625, + 24.421875 + ], + "rss_before_mib": 11.625, + "rss_before_samples_mib": [ + 11.625, + 11.625, + 11.640625, + 11.625, + 11.625, + 11.625, + 11.625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 200000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.132875, + "cpu_samples_us": [ + 0.132915, + 0.13047, + 0.132875, + 0.130565, + 0.13319, + 0.133105, + 0.129405 + ], + "peak_rss_mib": 75.609375, + "peak_rss_samples_mib": [ + 75.4375, + 75.609375, + 75.59375, + 75.6875, + 75.640625, + 75.578125, + 75.796875 + ], + "rss_after_mib": 74.90625, + "rss_after_samples_mib": [ + 74.75, + 74.921875, + 74.875, + 74.96875, + 74.90625, + 74.90625, + 75.09375 + ], + "rss_before_mib": 52.296875, + "rss_before_samples_mib": [ + 52.171875, + 52.265625, + 52.28125, + 52.296875, + 52.34375, + 52.328125, + 52.3125 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-parse", + "iterations": 200000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.058755, + "cpu_samples_us": [ + 0.05914, + 0.05829, + 0.05876, + 0.05842, + 0.05886, + 0.058035, + 0.058755 + ], + "peak_rss_mib": 50.640625, + "peak_rss_samples_mib": [ + 50.65625, + 50.640625, + 50.625, + 50.625, + 50.640625, + 50.640625, + 50.625 + ], + "rss_after_mib": 50.25, + "rss_after_samples_mib": [ + 50.265625, + 50.25, + 50.234375, + 50.234375, + 50.25, + 50.25, + 50.234375 + ], + "rss_before_mib": 28.234375, + "rss_before_samples_mib": [ + 28.25, + 28.234375, + 28.21875, + 28.21875, + 28.234375, + 28.234375, + 28.21875 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 11.0, + "cpu_samples_us": [ + 10.0, + 11.0, + 11.0, + 11.0, + 11.0, + 13.0, + 11.0 + ], + "peak_rss_mib": 13.0625, + "peak_rss_samples_mib": [ + 13.078125, + 13.0625, + 13.0625, + 13.078125, + 13.078125, + 13.0625, + 13.0625 + ], + "rss_after_mib": 12.0, + "rss_after_samples_mib": [ + 12.015625, + 12.0, + 12.0, + 12.015625, + 12.015625, + 12.0, + 12.0 + ], + "rss_before_mib": 11.921875, + "rss_before_samples_mib": [ + 11.9375, + 11.921875, + 11.921875, + 11.9375, + 11.9375, + 11.921875, + 11.921875 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 11.0, + "cpu_samples_us": [ + 9.0, + 10.0, + 11.0, + 10.0, + 11.0, + 12.0, + 15.0 + ], + "peak_rss_mib": 13.09375, + "peak_rss_samples_mib": [ + 13.09375, + 13.09375, + 13.109375, + 13.09375, + 13.09375, + 13.109375, + 13.09375 + ], + "rss_after_mib": 12.015625, + "rss_after_samples_mib": [ + 12.015625, + 12.015625, + 12.03125, + 12.015625, + 12.015625, + 12.03125, + 12.015625 + ], + "rss_before_mib": 11.9375, + "rss_before_samples_mib": [ + 11.9375, + 11.9375, + 11.953125, + 11.9375, + 11.9375, + 11.953125, + 11.9375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 365.0, + "cpu_samples_us": [ + 361.0, + 368.0, + 359.0, + 376.0, + 363.0, + 365.0, + 369.0 + ], + "peak_rss_mib": 53.6875, + "peak_rss_samples_mib": [ + 53.75, + 53.6875, + 53.703125, + 53.6875, + 53.703125, + 53.671875, + 53.6875 + ], + "rss_after_mib": 52.9375, + "rss_after_samples_mib": [ + 53.015625, + 52.9375, + 52.90625, + 52.9375, + 52.9375, + 52.921875, + 52.9375 + ], + "rss_before_mib": 52.375, + "rss_before_samples_mib": [ + 52.390625, + 52.375, + 52.328125, + 52.3125, + 52.390625, + 52.359375, + 52.375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 7.0, + "cpu_samples_us": [ + 9.0, + 7.0, + 7.0, + 8.0, + 7.0, + 7.0, + 7.0 + ], + "peak_rss_mib": 28.75, + "peak_rss_samples_mib": [ + 28.75, + 28.75, + 28.75, + 28.78125, + 28.75, + 28.75, + 28.71875 + ], + "rss_after_mib": 28.34375, + "rss_after_samples_mib": [ + 28.34375, + 28.34375, + 28.34375, + 28.375, + 28.34375, + 28.359375, + 28.328125 + ], + "rss_before_mib": 28.296875, + "rss_before_samples_mib": [ + 28.296875, + 28.296875, + 28.296875, + 28.328125, + 28.296875, + 28.3125, + 28.28125 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.0471, + "cpu_samples_us": [ + 0.046945, + 0.04701, + 0.04702, + 0.04713, + 0.047215, + 0.047275, + 0.0471 + ], + "peak_rss_mib": 25.53125, + "peak_rss_samples_mib": [ + 25.53125, + 25.515625, + 25.53125, + 25.53125, + 25.53125, + 25.53125, + 25.53125 + ], + "rss_after_mib": 24.5, + "rss_after_samples_mib": [ + 24.5, + 24.484375, + 24.5, + 24.5, + 24.5, + 24.5, + 24.5 + ], + "rss_before_mib": 11.9375, + "rss_before_samples_mib": [ + 11.921875, + 11.921875, + 11.921875, + 11.9375, + 11.9375, + 11.9375, + 11.9375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.047155, + "cpu_samples_us": [ + 0.04698, + 0.047225, + 0.047155, + 0.047185, + 0.047775, + 0.04693, + 0.047095 + ], + "peak_rss_mib": 25.5625, + "peak_rss_samples_mib": [ + 25.5625, + 25.5625, + 25.5625, + 25.5625, + 25.546875, + 25.5625, + 25.546875 + ], + "rss_after_mib": 24.515625, + "rss_after_samples_mib": [ + 24.515625, + 24.515625, + 24.515625, + 24.515625, + 24.5, + 24.515625, + 24.5 + ], + "rss_before_mib": 11.9375, + "rss_before_samples_mib": [ + 11.953125, + 11.9375, + 11.953125, + 11.9375, + 11.9375, + 11.9375, + 11.9375 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.083655, + "cpu_samples_us": [ + 0.083655, + 0.08351, + 0.083845, + 0.084045, + 0.082935, + 0.08307, + 0.084515 + ], + "peak_rss_mib": 72.09375, + "peak_rss_samples_mib": [ + 72.09375, + 72.09375, + 72.0625, + 72.1875, + 72.015625, + 72.0, + 72.09375 + ], + "rss_after_mib": 71.375, + "rss_after_samples_mib": [ + 71.375, + 71.375, + 71.375, + 71.53125, + 71.328125, + 71.28125, + 71.390625 + ], + "rss_before_mib": 52.390625, + "rss_before_samples_mib": [ + 52.390625, + 52.40625, + 52.390625, + 52.4375, + 52.40625, + 52.328125, + 52.390625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.049555, + "cpu_samples_us": [ + 0.049835, + 0.04949, + 0.0493, + 0.049915, + 0.049555, + 0.049555, + 0.049605 + ], + "peak_rss_mib": 47.515625, + "peak_rss_samples_mib": [ + 47.46875, + 47.53125, + 47.484375, + 47.515625, + 47.515625, + 47.484375, + 47.53125 + ], + "rss_after_mib": 47.109375, + "rss_after_samples_mib": [ + 47.0625, + 47.125, + 47.078125, + 47.109375, + 47.109375, + 47.078125, + 47.125 + ], + "rss_before_mib": 28.328125, + "rss_before_samples_mib": [ + 28.28125, + 28.34375, + 28.296875, + 28.328125, + 28.328125, + 28.296875, + 28.34375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 33.0, + "cpu_samples_us": [ + 33.0, + 33.0, + 38.0, + 32.0, + 32.0, + 33.0, + 34.0 + ], + "peak_rss_mib": 12.953125, + "peak_rss_samples_mib": [ + 12.96875, + 12.96875, + 12.953125, + 12.953125, + 12.96875, + 12.953125, + 12.953125 + ], + "rss_after_mib": 11.890625, + "rss_after_samples_mib": [ + 11.90625, + 11.90625, + 11.890625, + 11.890625, + 11.90625, + 11.890625, + 11.890625 + ], + "rss_before_mib": 11.609375, + "rss_before_samples_mib": [ + 11.625, + 11.625, + 11.609375, + 11.609375, + 11.625, + 11.609375, + 11.609375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 33.0, + "cpu_samples_us": [ + 33.0, + 33.0, + 34.0, + 30.0, + 33.0, + 32.0, + 34.0 + ], + "peak_rss_mib": 12.984375, + "peak_rss_samples_mib": [ + 12.984375, + 12.984375, + 13.0, + 12.984375, + 12.984375, + 12.984375, + 13.0 + ], + "rss_after_mib": 11.90625, + "rss_after_samples_mib": [ + 11.90625, + 11.90625, + 11.921875, + 11.90625, + 11.90625, + 11.90625, + 11.921875 + ], + "rss_before_mib": 11.625, + "rss_before_samples_mib": [ + 11.625, + 11.625, + 11.640625, + 11.625, + 11.625, + 11.625, + 11.640625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 385.0, + "cpu_samples_us": [ + 380.0, + 408.0, + 381.0, + 388.0, + 379.0, + 385.0, + 403.0 + ], + "peak_rss_mib": 53.625, + "peak_rss_samples_mib": [ + 53.625, + 53.71875, + 53.625, + 53.59375, + 53.640625, + 53.59375, + 53.640625 + ], + "rss_after_mib": 52.875, + "rss_after_samples_mib": [ + 52.875, + 52.953125, + 52.890625, + 52.875, + 52.859375, + 52.859375, + 52.84375 + ], + "rss_before_mib": 52.234375, + "rss_before_samples_mib": [ + 52.28125, + 52.296875, + 52.28125, + 52.203125, + 52.234375, + 52.1875, + 52.171875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 13.0, + "cpu_samples_us": [ + 13.0, + 13.0, + 15.0, + 14.0, + 17.0, + 13.0, + 11.0 + ], + "peak_rss_mib": 28.703125, + "peak_rss_samples_mib": [ + 28.703125, + 28.703125, + 28.71875, + 28.703125, + 28.71875, + 28.703125, + 28.71875 + ], + "rss_after_mib": 28.328125, + "rss_after_samples_mib": [ + 28.328125, + 28.328125, + 28.328125, + 28.328125, + 28.328125, + 28.328125, + 28.328125 + ], + "rss_before_mib": 28.234375, + "rss_before_samples_mib": [ + 28.234375, + 28.234375, + 28.234375, + 28.234375, + 28.234375, + 28.234375, + 28.234375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 100000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.10409, + "cpu_samples_us": [ + 0.1054, + 0.10409, + 0.10435, + 0.10417, + 0.10354, + 0.10398, + 0.10349 + ], + "peak_rss_mib": 25.46875, + "peak_rss_samples_mib": [ + 25.46875, + 25.46875, + 25.453125, + 25.46875, + 25.46875, + 25.46875, + 25.453125 + ], + "rss_after_mib": 24.421875, + "rss_after_samples_mib": [ + 24.421875, + 24.421875, + 24.40625, + 24.421875, + 24.421875, + 24.421875, + 24.40625 + ], + "rss_before_mib": 11.609375, + "rss_before_samples_mib": [ + 11.625, + 11.609375, + 11.609375, + 11.609375, + 11.625, + 11.625, + 11.609375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 100000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.10426, + "cpu_samples_us": [ + 0.10528, + 0.10426, + 0.10413, + 0.10487, + 0.10368, + 0.10411, + 0.10451 + ], + "peak_rss_mib": 25.484375, + "peak_rss_samples_mib": [ + 25.484375, + 25.484375, + 25.484375, + 25.5, + 25.5, + 25.484375, + 25.5 + ], + "rss_after_mib": 24.421875, + "rss_after_samples_mib": [ + 24.421875, + 24.421875, + 24.421875, + 24.4375, + 24.4375, + 24.421875, + 24.4375 + ], + "rss_before_mib": 11.625, + "rss_before_samples_mib": [ + 11.625, + 11.625, + 11.625, + 11.625, + 11.625, + 11.625, + 11.640625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 100000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.48175, + "cpu_samples_us": [ + 0.4881, + 0.48175, + 0.46319, + 0.49068, + 0.4749, + 0.48886, + 0.47956 + ], + "peak_rss_mib": 86.3125, + "peak_rss_samples_mib": [ + 86.265625, + 86.265625, + 86.984375, + 86.34375, + 86.359375, + 86.3125, + 86.28125 + ], + "rss_after_mib": 85.5625, + "rss_after_samples_mib": [ + 85.546875, + 85.5625, + 86.234375, + 85.625, + 85.625, + 85.546875, + 85.5625 + ], + "rss_before_mib": 52.234375, + "rss_before_samples_mib": [ + 52.1875, + 52.234375, + 52.265625, + 52.25, + 52.296875, + 52.1875, + 52.21875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-parse", + "iterations": 100000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.26378, + "cpu_samples_us": [ + 0.26341, + 0.26503, + 0.26345, + 0.26274, + 0.26447, + 0.26515, + 0.26378 + ], + "peak_rss_mib": 53.125, + "peak_rss_samples_mib": [ + 53.09375, + 53.125, + 53.125, + 53.125, + 53.109375, + 53.140625, + 53.125 + ], + "rss_after_mib": 52.734375, + "rss_after_samples_mib": [ + 52.703125, + 52.734375, + 52.734375, + 52.734375, + 52.71875, + 52.75, + 52.734375 + ], + "rss_before_mib": 28.234375, + "rss_before_samples_mib": [ + 28.203125, + 28.234375, + 28.234375, + 28.234375, + 28.21875, + 28.25, + 28.234375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 13.0, + "cpu_samples_us": [ + 12.0, + 13.0, + 13.0, + 13.0, + 13.0, + 14.0, + 17.0 + ], + "peak_rss_mib": 13.078125, + "peak_rss_samples_mib": [ + 13.078125, + 13.078125, + 13.09375, + 13.078125, + 13.09375, + 13.078125, + 13.078125 + ], + "rss_after_mib": 12.015625, + "rss_after_samples_mib": [ + 12.015625, + 12.015625, + 12.03125, + 12.015625, + 12.03125, + 12.015625, + 12.015625 + ], + "rss_before_mib": 11.90625, + "rss_before_samples_mib": [ + 11.90625, + 11.90625, + 11.921875, + 11.90625, + 11.921875, + 11.90625, + 11.90625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 12.0, + "cpu_samples_us": [ + 12.0, + 12.0, + 14.0, + 12.0, + 12.0, + 13.0, + 12.0 + ], + "peak_rss_mib": 13.109375, + "peak_rss_samples_mib": [ + 13.109375, + 13.109375, + 13.125, + 13.109375, + 13.109375, + 13.109375, + 13.109375 + ], + "rss_after_mib": 12.03125, + "rss_after_samples_mib": [ + 12.03125, + 12.03125, + 12.046875, + 12.03125, + 12.03125, + 12.03125, + 12.03125 + ], + "rss_before_mib": 11.921875, + "rss_before_samples_mib": [ + 11.921875, + 11.921875, + 11.9375, + 11.921875, + 11.921875, + 11.921875, + 11.921875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 365.0, + "cpu_samples_us": [ + 391.0, + 384.0, + 365.0, + 364.0, + 358.0, + 369.0, + 361.0 + ], + "peak_rss_mib": 53.703125, + "peak_rss_samples_mib": [ + 53.671875, + 53.703125, + 53.765625, + 53.765625, + 53.703125, + 53.703125, + 53.734375 + ], + "rss_after_mib": 52.984375, + "rss_after_samples_mib": [ + 52.9375, + 52.96875, + 53.078125, + 53.015625, + 52.984375, + 52.96875, + 53.0 + ], + "rss_before_mib": 52.4375, + "rss_before_samples_mib": [ + 52.375, + 52.40625, + 52.484375, + 52.4375, + 52.4375, + 52.375, + 52.484375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 9.0, + "cpu_samples_us": [ + 9.0, + 8.0, + 9.0, + 9.0, + 8.0, + 9.0, + 12.0 + ], + "peak_rss_mib": 28.765625, + "peak_rss_samples_mib": [ + 28.78125, + 28.765625, + 28.765625, + 28.84375, + 28.765625, + 28.765625, + 28.75 + ], + "rss_after_mib": 28.359375, + "rss_after_samples_mib": [ + 28.375, + 28.359375, + 28.359375, + 28.453125, + 28.359375, + 28.359375, + 28.34375 + ], + "rss_before_mib": 28.3125, + "rss_before_samples_mib": [ + 28.328125, + 28.3125, + 28.3125, + 28.40625, + 28.3125, + 28.3125, + 28.296875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.06716, + "cpu_samples_us": [ + 0.067, + 0.06705, + 0.0673, + 0.067, + 0.06823, + 0.0672, + 0.06716 + ], + "peak_rss_mib": 28.703125, + "peak_rss_samples_mib": [ + 28.703125, + 28.703125, + 28.703125, + 28.6875, + 28.6875, + 28.6875, + 28.703125 + ], + "rss_after_mib": 27.671875, + "rss_after_samples_mib": [ + 27.671875, + 27.671875, + 27.671875, + 27.65625, + 27.65625, + 27.65625, + 27.671875 + ], + "rss_before_mib": 11.90625, + "rss_before_samples_mib": [ + 11.921875, + 11.921875, + 11.921875, + 11.90625, + 11.90625, + 11.90625, + 11.90625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.06773, + "cpu_samples_us": [ + 0.06773, + 0.06839, + 0.06783, + 0.06732, + 0.06717, + 0.06853, + 0.06728 + ], + "peak_rss_mib": 28.734375, + "peak_rss_samples_mib": [ + 28.734375, + 28.71875, + 28.71875, + 28.734375, + 28.734375, + 28.734375, + 28.71875 + ], + "rss_after_mib": 27.6875, + "rss_after_samples_mib": [ + 27.6875, + 27.671875, + 27.671875, + 27.6875, + 27.6875, + 27.6875, + 27.671875 + ], + "rss_before_mib": 11.921875, + "rss_before_samples_mib": [ + 11.921875, + 11.921875, + 11.921875, + 11.9375, + 11.9375, + 11.9375, + 11.921875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.18657, + "cpu_samples_us": [ + 0.18098, + 0.18657, + 0.18176, + 0.18902, + 0.18347, + 0.18982, + 0.18756 + ], + "peak_rss_mib": 81.171875, + "peak_rss_samples_mib": [ + 81.28125, + 81.15625, + 81.171875, + 81.21875, + 81.125, + 81.140625, + 81.1875 + ], + "rss_after_mib": 80.453125, + "rss_after_samples_mib": [ + 80.59375, + 80.484375, + 80.453125, + 80.546875, + 80.4375, + 80.421875, + 80.421875 + ], + "rss_before_mib": 52.390625, + "rss_before_samples_mib": [ + 52.390625, + 52.40625, + 52.5, + 52.421875, + 52.359375, + 52.34375, + 52.359375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.13619, + "cpu_samples_us": [ + 0.13692, + 0.13589, + 0.13581, + 0.13668, + 0.13619, + 0.13558, + 0.13889 + ], + "peak_rss_mib": 51.53125, + "peak_rss_samples_mib": [ + 51.578125, + 51.53125, + 51.53125, + 51.578125, + 51.515625, + 51.515625, + 51.515625 + ], + "rss_after_mib": 51.125, + "rss_after_samples_mib": [ + 51.171875, + 51.125, + 51.125, + 51.171875, + 51.109375, + 51.109375, + 51.109375 + ], + "rss_before_mib": 28.328125, + "rss_before_samples_mib": [ + 28.375, + 28.328125, + 28.328125, + 28.375, + 28.3125, + 28.3125, + 28.3125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 949.0, + "cpu_samples_us": [ + 927.0, + 1036.0, + 949.0, + 953.0, + 932.0, + 922.0, + 954.0 + ], + "peak_rss_mib": 17.59375, + "peak_rss_samples_mib": [ + 17.609375, + 17.609375, + 17.59375, + 17.59375, + 17.59375, + 17.59375, + 17.609375 + ], + "rss_after_mib": 16.578125, + "rss_after_samples_mib": [ + 16.59375, + 16.59375, + 16.578125, + 16.578125, + 16.578125, + 16.578125, + 16.59375 + ], + "rss_before_mib": 13.5, + "rss_before_samples_mib": [ + 13.515625, + 13.515625, + 13.5, + 13.5, + 13.5, + 13.5, + 13.515625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 944.0, + "cpu_samples_us": [ + 944.0, + 919.0, + 930.0, + 952.0, + 952.0, + 950.0, + 928.0 + ], + "peak_rss_mib": 17.625, + "peak_rss_samples_mib": [ + 17.640625, + 17.640625, + 17.640625, + 17.625, + 17.625, + 17.625, + 17.625 + ], + "rss_after_mib": 16.59375, + "rss_after_samples_mib": [ + 16.609375, + 16.609375, + 16.609375, + 16.59375, + 16.59375, + 16.59375, + 16.59375 + ], + "rss_before_mib": 13.515625, + "rss_before_samples_mib": [ + 13.53125, + 13.515625, + 13.53125, + 13.515625, + 13.515625, + 13.515625, + 13.515625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 3845.0, + "cpu_samples_us": [ + 3831.0, + 3813.0, + 3846.0, + 3812.0, + 3994.0, + 3845.0, + 3849.0 + ], + "peak_rss_mib": 60.359375, + "peak_rss_samples_mib": [ + 60.390625, + 60.359375, + 60.453125, + 60.390625, + 60.3125, + 60.296875, + 60.34375 + ], + "rss_after_mib": 58.546875, + "rss_after_samples_mib": [ + 58.59375, + 58.546875, + 58.625, + 58.546875, + 58.546875, + 58.515625, + 58.5 + ], + "rss_before_mib": 55.09375, + "rss_before_samples_mib": [ + 55.09375, + 55.09375, + 55.171875, + 55.09375, + 55.078125, + 55.078125, + 55.046875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2412.0, + "cpu_samples_us": [ + 2412.0, + 2404.0, + 2436.0, + 2415.0, + 2400.0, + 2415.0, + 2391.0 + ], + "peak_rss_mib": 32.0625, + "peak_rss_samples_mib": [ + 32.0625, + 32.125, + 32.046875, + 32.0625, + 32.09375, + 32.0625, + 32.03125 + ], + "rss_after_mib": 31.671875, + "rss_after_samples_mib": [ + 31.671875, + 31.734375, + 31.65625, + 31.671875, + 31.703125, + 31.671875, + 31.640625 + ], + "rss_before_mib": 29.328125, + "rss_before_samples_mib": [ + 29.328125, + 29.390625, + 29.3125, + 29.328125, + 29.359375, + 29.328125, + 29.296875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 857.0, + "cpu_samples_us": [ + 851.5, + 875.0, + 857.0, + 852.375, + 864.5, + 851.0625, + 878.375 + ], + "peak_rss_mib": 41.484375, + "peak_rss_samples_mib": [ + 41.484375, + 41.484375, + 41.484375, + 41.484375, + 41.484375, + 41.484375, + 41.484375 + ], + "rss_after_mib": 40.46875, + "rss_after_samples_mib": [ + 40.46875, + 40.46875, + 40.46875, + 40.46875, + 40.46875, + 40.46875, + 40.46875 + ], + "rss_before_mib": 13.5, + "rss_before_samples_mib": [ + 13.515625, + 13.5, + 13.515625, + 13.5, + 13.5, + 13.515625, + 13.5 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 855.0625, + "cpu_samples_us": [ + 855.5625, + 855.3125, + 856.875, + 855.0625, + 853.6875, + 853.1875, + 852.8125 + ], + "peak_rss_mib": 41.515625, + "peak_rss_samples_mib": [ + 41.515625, + 41.515625, + 41.515625, + 41.515625, + 41.515625, + 41.515625, + 41.515625 + ], + "rss_after_mib": 40.484375, + "rss_after_samples_mib": [ + 40.484375, + 40.484375, + 40.484375, + 40.484375, + 40.484375, + 40.484375, + 40.484375 + ], + "rss_before_mib": 13.53125, + "rss_before_samples_mib": [ + 13.515625, + 13.53125, + 13.53125, + 13.53125, + 13.515625, + 13.53125, + 13.515625 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 3617.75, + "cpu_samples_us": [ + 3620.25, + 3625.8125, + 3804.8125, + 3478.9375, + 3549.0, + 3507.125, + 3617.75 + ], + "peak_rss_mib": 89.53125, + "peak_rss_samples_mib": [ + 89.5625, + 89.5, + 89.515625, + 89.625, + 89.421875, + 89.53125, + 89.578125 + ], + "rss_after_mib": 88.765625, + "rss_after_samples_mib": [ + 88.859375, + 88.734375, + 88.75, + 88.921875, + 88.640625, + 88.765625, + 88.859375 + ], + "rss_before_mib": 55.0625, + "rss_before_samples_mib": [ + 55.140625, + 55.015625, + 55.03125, + 55.125, + 55.03125, + 55.0625, + 55.078125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2135.25, + "cpu_samples_us": [ + 2125.6875, + 2144.0, + 2130.75, + 2135.75, + 2141.625, + 2133.625, + 2135.25 + ], + "peak_rss_mib": 56.375, + "peak_rss_samples_mib": [ + 56.34375, + 56.328125, + 56.375, + 56.390625, + 56.390625, + 56.421875, + 56.375 + ], + "rss_after_mib": 55.984375, + "rss_after_samples_mib": [ + 55.953125, + 55.9375, + 55.984375, + 56.0, + 56.0, + 56.03125, + 55.984375 + ], + "rss_before_mib": 29.359375, + "rss_before_samples_mib": [ + 29.328125, + 29.3125, + 29.359375, + 29.375, + 29.375, + 29.40625, + 29.359375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 805.0, + "cpu_samples_us": [ + 810.0, + 794.0, + 807.0, + 797.0, + 805.0, + 793.0, + 806.0 + ], + "peak_rss_mib": 20.15625, + "peak_rss_samples_mib": [ + 20.140625, + 20.15625, + 20.140625, + 20.15625, + 20.15625, + 20.15625, + 20.140625 + ], + "rss_after_mib": 19.140625, + "rss_after_samples_mib": [ + 19.125, + 19.140625, + 19.125, + 19.140625, + 19.140625, + 19.140625, + 19.125 + ], + "rss_before_mib": 16.34375, + "rss_before_samples_mib": [ + 16.328125, + 16.34375, + 16.328125, + 16.34375, + 16.34375, + 16.34375, + 16.328125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 804.0, + "cpu_samples_us": [ + 805.0, + 785.0, + 808.0, + 796.0, + 813.0, + 804.0, + 789.0 + ], + "peak_rss_mib": 20.1875, + "peak_rss_samples_mib": [ + 20.1875, + 20.1875, + 20.1875, + 20.1875, + 20.1875, + 20.1875, + 20.1875 + ], + "rss_after_mib": 19.15625, + "rss_after_samples_mib": [ + 19.15625, + 19.15625, + 19.15625, + 19.15625, + 19.15625, + 19.15625, + 19.15625 + ], + "rss_before_mib": 16.359375, + "rss_before_samples_mib": [ + 16.359375, + 16.359375, + 16.359375, + 16.34375, + 16.359375, + 16.34375, + 16.359375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1340.0, + "cpu_samples_us": [ + 1348.0, + 1344.0, + 1335.0, + 1361.0, + 1321.0, + 1322.0, + 1340.0 + ], + "peak_rss_mib": 63.0, + "peak_rss_samples_mib": [ + 62.8125, + 63.046875, + 63.015625, + 63.0, + 62.984375, + 62.90625, + 63.0 + ], + "rss_after_mib": 60.6875, + "rss_after_samples_mib": [ + 60.5625, + 60.703125, + 60.671875, + 60.71875, + 60.75, + 60.671875, + 60.6875 + ], + "rss_before_mib": 58.453125, + "rss_before_samples_mib": [ + 58.3125, + 58.453125, + 58.421875, + 58.46875, + 58.5, + 58.453125, + 58.453125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 1077.0, + "cpu_samples_us": [ + 1071.0, + 1078.0, + 1085.0, + 1069.0, + 1079.0, + 1077.0, + 1069.0 + ], + "peak_rss_mib": 34.859375, + "peak_rss_samples_mib": [ + 34.84375, + 34.859375, + 34.859375, + 34.84375, + 34.890625, + 34.84375, + 34.859375 + ], + "rss_after_mib": 34.46875, + "rss_after_samples_mib": [ + 34.453125, + 34.46875, + 34.46875, + 34.453125, + 34.5, + 34.453125, + 34.46875 + ], + "rss_before_mib": 32.53125, + "rss_before_samples_mib": [ + 32.515625, + 32.53125, + 32.53125, + 32.515625, + 32.5625, + 32.515625, + 32.53125 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 661.9375, + "cpu_samples_us": [ + 659.125, + 652.1875, + 664.875, + 664.5625, + 661.9375, + 663.1875, + 660.8125 + ], + "peak_rss_mib": 32.8125, + "peak_rss_samples_mib": [ + 32.8125, + 32.8125, + 32.828125, + 32.8125, + 32.828125, + 32.8125, + 32.828125 + ], + "rss_after_mib": 31.796875, + "rss_after_samples_mib": [ + 31.796875, + 31.796875, + 31.8125, + 31.796875, + 31.8125, + 31.796875, + 31.8125 + ], + "rss_before_mib": 16.328125, + "rss_before_samples_mib": [ + 16.328125, + 16.328125, + 16.328125, + 16.328125, + 16.34375, + 16.328125, + 16.34375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 656.875, + "cpu_samples_us": [ + 654.125, + 657.5, + 656.875, + 665.625, + 654.5, + 666.0625, + 656.5625 + ], + "peak_rss_mib": 32.859375, + "peak_rss_samples_mib": [ + 32.859375, + 32.859375, + 32.859375, + 32.859375, + 32.84375, + 32.859375, + 32.859375 + ], + "rss_after_mib": 31.828125, + "rss_after_samples_mib": [ + 31.828125, + 31.828125, + 31.828125, + 31.828125, + 31.8125, + 31.828125, + 31.828125 + ], + "rss_before_mib": 16.34375, + "rss_before_samples_mib": [ + 16.359375, + 16.34375, + 16.359375, + 16.359375, + 16.34375, + 16.34375, + 16.34375 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 1000.5, + "cpu_samples_us": [ + 1006.25, + 998.0625, + 994.6875, + 1013.875, + 1000.5, + 998.25, + 1001.4375 + ], + "peak_rss_mib": 77.09375, + "peak_rss_samples_mib": [ + 77.09375, + 77.0, + 76.953125, + 77.09375, + 77.1875, + 77.109375, + 77.109375 + ], + "rss_after_mib": 76.453125, + "rss_after_samples_mib": [ + 76.46875, + 76.390625, + 76.390625, + 76.4375, + 76.53125, + 76.453125, + 76.53125 + ], + "rss_before_mib": 58.4375, + "rss_before_samples_mib": [ + 58.453125, + 58.4375, + 58.34375, + 58.3125, + 58.5625, + 58.421875, + 58.46875 + ] + }, + { + "fixture": "records_array_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 992.875, + "cpu_samples_us": [ + 996.4375, + 988.625, + 990.6875, + 993.25, + 992.875, + 989.0625, + 999.875 + ], + "peak_rss_mib": 47.671875, + "peak_rss_samples_mib": [ + 47.6875, + 47.6875, + 47.671875, + 47.671875, + 47.671875, + 47.65625, + 47.6875 + ], + "rss_after_mib": 47.28125, + "rss_after_samples_mib": [ + 47.296875, + 47.296875, + 47.28125, + 47.28125, + 47.28125, + 47.265625, + 47.296875 + ], + "rss_before_mib": 32.53125, + "rss_before_samples_mib": [ + 32.546875, + 32.546875, + 32.53125, + 32.53125, + 32.53125, + 32.515625, + 32.546875 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 1868.0, + "cpu_samples_us": [ + 1862.0, + 1869.0, + 1868.0, + 1867.0, + 1870.0, + 1856.0, + 1868.0 + ], + "peak_rss_mib": 16.40625, + "peak_rss_samples_mib": [ + 16.40625, + 16.390625, + 16.40625, + 16.390625, + 16.40625, + 16.390625, + 16.40625 + ], + "rss_after_mib": 15.375, + "rss_after_samples_mib": [ + 15.375, + 15.359375, + 15.375, + 15.359375, + 15.375, + 15.359375, + 15.375 + ], + "rss_before_mib": 13.515625, + "rss_before_samples_mib": [ + 13.515625, + 13.5, + 13.515625, + 13.5, + 13.515625, + 13.5, + 13.515625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 1867.0, + "cpu_samples_us": [ + 1866.0, + 1867.0, + 1857.0, + 1872.0, + 1874.0, + 1860.0, + 1875.0 + ], + "peak_rss_mib": 16.421875, + "peak_rss_samples_mib": [ + 16.421875, + 16.4375, + 16.421875, + 16.4375, + 16.4375, + 16.421875, + 16.421875 + ], + "rss_after_mib": 15.375, + "rss_after_samples_mib": [ + 15.375, + 15.390625, + 15.375, + 15.390625, + 15.390625, + 15.375, + 15.375 + ], + "rss_before_mib": 13.515625, + "rss_before_samples_mib": [ + 13.515625, + 13.53125, + 13.515625, + 13.53125, + 13.53125, + 13.515625, + 13.515625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 3982.0, + "cpu_samples_us": [ + 4086.0, + 3970.0, + 3997.0, + 3973.0, + 3897.0, + 4032.0, + 3982.0 + ], + "peak_rss_mib": 60.328125, + "peak_rss_samples_mib": [ + 60.234375, + 60.34375, + 60.34375, + 60.390625, + 60.234375, + 60.328125, + 60.328125 + ], + "rss_after_mib": 58.515625, + "rss_after_samples_mib": [ + 58.421875, + 58.515625, + 58.5625, + 58.609375, + 58.5, + 58.5625, + 58.5 + ], + "rss_before_mib": 55.09375, + "rss_before_samples_mib": [ + 54.953125, + 55.09375, + 55.09375, + 55.15625, + 55.046875, + 55.09375, + 55.046875 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2412.0, + "cpu_samples_us": [ + 2406.0, + 2459.0, + 2420.0, + 2412.0, + 2410.0, + 2414.0, + 2409.0 + ], + "peak_rss_mib": 32.078125, + "peak_rss_samples_mib": [ + 32.140625, + 32.0625, + 32.078125, + 32.078125, + 32.09375, + 32.078125, + 32.0625 + ], + "rss_after_mib": 31.6875, + "rss_after_samples_mib": [ + 31.75, + 31.671875, + 31.6875, + 31.6875, + 31.703125, + 31.6875, + 31.671875 + ], + "rss_before_mib": 29.34375, + "rss_before_samples_mib": [ + 29.40625, + 29.328125, + 29.34375, + 29.34375, + 29.359375, + 29.34375, + 29.328125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2987.0625, + "cpu_samples_us": [ + 2979.3125, + 2987.0625, + 2995.75, + 3000.0625, + 2992.625, + 2980.75, + 2979.3125 + ], + "peak_rss_mib": 52.984375, + "peak_rss_samples_mib": [ + 52.984375, + 52.984375, + 52.984375, + 52.984375, + 52.984375, + 52.984375, + 52.96875 + ], + "rss_after_mib": 52.484375, + "rss_after_samples_mib": [ + 52.484375, + 52.484375, + 52.484375, + 52.484375, + 52.484375, + 52.484375, + 52.46875 + ], + "rss_before_mib": 13.515625, + "rss_before_samples_mib": [ + 13.515625, + 13.515625, + 13.515625, + 13.515625, + 13.5, + 13.5, + 13.5 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2976.75, + "cpu_samples_us": [ + 2979.0625, + 2991.625, + 2979.6875, + 2976.125, + 2973.0625, + 2976.75, + 2974.1875 + ], + "peak_rss_mib": 53.015625, + "peak_rss_samples_mib": [ + 53.015625, + 53.015625, + 53.015625, + 53.015625, + 53.015625, + 53.015625, + 53.015625 + ], + "rss_after_mib": 52.5, + "rss_after_samples_mib": [ + 52.5, + 52.5, + 52.5, + 52.5, + 52.5, + 52.5, + 52.5 + ], + "rss_before_mib": 13.53125, + "rss_before_samples_mib": [ + 13.53125, + 13.53125, + 13.515625, + 13.53125, + 13.53125, + 13.515625, + 13.515625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 3603.375, + "cpu_samples_us": [ + 3590.9375, + 3733.1875, + 3603.375, + 3530.625, + 3713.5625, + 3707.375, + 3550.625 + ], + "peak_rss_mib": 89.75, + "peak_rss_samples_mib": [ + 89.796875, + 89.546875, + 89.625, + 89.765625, + 89.75, + 89.734375, + 89.765625 + ], + "rss_after_mib": 89.015625, + "rss_after_samples_mib": [ + 89.078125, + 88.84375, + 88.875, + 89.015625, + 89.015625, + 89.0, + 89.015625 + ], + "rss_before_mib": 55.140625, + "rss_before_samples_mib": [ + 55.171875, + 54.984375, + 55.171875, + 55.140625, + 55.078125, + 55.09375, + 55.15625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 2133.5625, + "cpu_samples_us": [ + 2139.1875, + 2191.25, + 2135.75, + 2129.75, + 2131.5625, + 2133.5625, + 2131.625 + ], + "peak_rss_mib": 56.34375, + "peak_rss_samples_mib": [ + 56.328125, + 56.375, + 56.34375, + 56.359375, + 56.34375, + 56.328125, + 56.34375 + ], + "rss_after_mib": 55.953125, + "rss_after_samples_mib": [ + 55.9375, + 55.984375, + 55.953125, + 55.96875, + 55.953125, + 55.9375, + 55.953125 + ], + "rss_before_mib": 29.328125, + "rss_before_samples_mib": [ + 29.3125, + 29.359375, + 29.328125, + 29.34375, + 29.328125, + 29.3125, + 29.328125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 806.0, + "cpu_samples_us": [ + 806.0, + 811.0, + 798.0, + 803.0, + 806.0, + 807.0, + 804.0 + ], + "peak_rss_mib": 20.15625, + "peak_rss_samples_mib": [ + 20.15625, + 20.171875, + 20.15625, + 20.171875, + 20.15625, + 20.171875, + 20.15625 + ], + "rss_after_mib": 19.140625, + "rss_after_samples_mib": [ + 19.140625, + 19.15625, + 19.140625, + 19.15625, + 19.140625, + 19.15625, + 19.140625 + ], + "rss_before_mib": 16.328125, + "rss_before_samples_mib": [ + 16.328125, + 16.34375, + 16.328125, + 16.34375, + 16.328125, + 16.34375, + 16.328125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 806.0, + "cpu_samples_us": [ + 807.0, + 805.0, + 806.0, + 799.0, + 822.0, + 818.0, + 804.0 + ], + "peak_rss_mib": 20.203125, + "peak_rss_samples_mib": [ + 20.203125, + 20.203125, + 20.203125, + 20.203125, + 20.203125, + 20.203125, + 20.1875 + ], + "rss_after_mib": 19.171875, + "rss_after_samples_mib": [ + 19.171875, + 19.171875, + 19.171875, + 19.171875, + 19.171875, + 19.171875, + 19.15625 + ], + "rss_before_mib": 16.359375, + "rss_before_samples_mib": [ + 16.359375, + 16.359375, + 16.359375, + 16.359375, + 16.359375, + 16.359375, + 16.34375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1339.0, + "cpu_samples_us": [ + 1352.0, + 1317.0, + 1344.0, + 1364.0, + 1339.0, + 1337.0, + 1334.0 + ], + "peak_rss_mib": 63.03125, + "peak_rss_samples_mib": [ + 63.046875, + 63.0625, + 63.03125, + 63.03125, + 62.953125, + 63.015625, + 62.96875 + ], + "rss_after_mib": 60.703125, + "rss_after_samples_mib": [ + 60.703125, + 60.78125, + 60.75, + 60.65625, + 60.609375, + 60.65625, + 60.734375 + ], + "rss_before_mib": 58.46875, + "rss_before_samples_mib": [ + 58.46875, + 58.5, + 58.484375, + 58.375, + 58.359375, + 58.40625, + 58.484375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 1072.0, + "cpu_samples_us": [ + 1075.0, + 1073.0, + 1062.0, + 1060.0, + 1072.0, + 1042.0, + 1075.0 + ], + "peak_rss_mib": 34.875, + "peak_rss_samples_mib": [ + 34.90625, + 34.9375, + 34.875, + 34.859375, + 34.84375, + 34.890625, + 34.84375 + ], + "rss_after_mib": 34.484375, + "rss_after_samples_mib": [ + 34.515625, + 34.546875, + 34.484375, + 34.46875, + 34.453125, + 34.5, + 34.453125 + ], + "rss_before_mib": 32.546875, + "rss_before_samples_mib": [ + 32.578125, + 32.609375, + 32.546875, + 32.53125, + 32.515625, + 32.5625, + 32.515625 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 661.1875, + "cpu_samples_us": [ + 656.6875, + 669.8125, + 664.5625, + 661.1875, + 663.125, + 660.875, + 661.0625 + ], + "peak_rss_mib": 32.84375, + "peak_rss_samples_mib": [ + 32.828125, + 32.84375, + 32.84375, + 32.84375, + 32.84375, + 32.828125, + 32.84375 + ], + "rss_after_mib": 31.828125, + "rss_after_samples_mib": [ + 31.8125, + 31.828125, + 31.828125, + 31.828125, + 31.828125, + 31.8125, + 31.828125 + ], + "rss_before_mib": 16.328125, + "rss_before_samples_mib": [ + 16.328125, + 16.34375, + 16.328125, + 16.328125, + 16.34375, + 16.328125, + 16.34375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 664.75, + "cpu_samples_us": [ + 661.3125, + 654.375, + 666.5, + 664.75, + 666.25, + 661.9375, + 665.125 + ], + "peak_rss_mib": 32.875, + "peak_rss_samples_mib": [ + 32.875, + 32.875, + 32.875, + 32.875, + 32.875, + 32.875, + 32.875 + ], + "rss_after_mib": 31.84375, + "rss_after_samples_mib": [ + 31.84375, + 31.84375, + 31.84375, + 31.84375, + 31.84375, + 31.84375, + 31.84375 + ], + "rss_before_mib": 16.34375, + "rss_before_samples_mib": [ + 16.34375, + 16.34375, + 16.34375, + 16.34375, + 16.359375, + 16.34375, + 16.359375 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 1000.9375, + "cpu_samples_us": [ + 996.125, + 994.6875, + 1009.25, + 1000.9375, + 1010.125, + 999.3125, + 1005.6875 + ], + "peak_rss_mib": 77.140625, + "peak_rss_samples_mib": [ + 77.09375, + 77.140625, + 77.140625, + 77.234375, + 77.15625, + 76.9375, + 77.140625 + ], + "rss_after_mib": 76.484375, + "rss_after_samples_mib": [ + 76.46875, + 76.484375, + 76.515625, + 76.59375, + 76.484375, + 76.359375, + 76.484375 + ], + "rss_before_mib": 58.359375, + "rss_before_samples_mib": [ + 58.359375, + 58.46875, + 58.46875, + 58.46875, + 58.359375, + 58.34375, + 58.328125 + ] + }, + { + "fixture": "records_object_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 992.625, + "cpu_samples_us": [ + 992.625, + 993.625, + 992.1875, + 998.375, + 988.4375, + 990.4375, + 996.8125 + ], + "peak_rss_mib": 47.671875, + "peak_rss_samples_mib": [ + 47.703125, + 47.671875, + 47.734375, + 47.734375, + 47.671875, + 47.640625, + 47.640625 + ], + "rss_after_mib": 47.28125, + "rss_after_samples_mib": [ + 47.3125, + 47.28125, + 47.34375, + 47.34375, + 47.28125, + 47.25, + 47.25 + ], + "rss_before_mib": 32.53125, + "rss_before_samples_mib": [ + 32.5625, + 32.53125, + 32.59375, + 32.59375, + 32.53125, + 32.5, + 32.5 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 8270.0, + "cpu_samples_us": [ + 8453.0, + 8507.0, + 8232.0, + 8418.0, + 8270.0, + 8050.0, + 8064.0 + ], + "peak_rss_mib": 49.5625, + "peak_rss_samples_mib": [ + 49.5625, + 49.5625, + 49.5625, + 49.5625, + 49.5625, + 49.5625, + 49.5625 + ], + "rss_after_mib": 48.546875, + "rss_after_samples_mib": [ + 48.546875, + 48.546875, + 48.546875, + 48.546875, + 48.546875, + 48.546875, + 48.546875 + ], + "rss_before_mib": 25.796875, + "rss_before_samples_mib": [ + 25.796875, + 25.78125, + 25.796875, + 25.78125, + 25.796875, + 25.78125, + 25.796875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 8286.0, + "cpu_samples_us": [ + 8286.0, + 8297.0, + 8418.0, + 8206.0, + 8327.0, + 8252.0, + 8007.0 + ], + "peak_rss_mib": 49.59375, + "peak_rss_samples_mib": [ + 49.59375, + 49.59375, + 49.59375, + 49.59375, + 49.59375, + 49.59375, + 49.59375 + ], + "rss_after_mib": 48.5625, + "rss_after_samples_mib": [ + 48.5625, + 48.5625, + 48.5625, + 48.5625, + 48.5625, + 48.5625, + 48.5625 + ], + "rss_before_mib": 25.8125, + "rss_before_samples_mib": [ + 25.8125, + 25.796875, + 25.8125, + 25.8125, + 25.8125, + 25.8125, + 25.8125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 28265.0, + "cpu_samples_us": [ + 29951.0, + 28284.0, + 28265.0, + 27928.0, + 27877.0, + 27622.0, + 29124.0 + ], + "peak_rss_mib": 97.765625, + "peak_rss_samples_mib": [ + 97.765625, + 97.703125, + 97.859375, + 97.6875, + 97.875, + 97.765625, + 97.75 + ], + "rss_after_mib": 94.4375, + "rss_after_samples_mib": [ + 94.4375, + 94.421875, + 94.53125, + 94.328125, + 94.53125, + 94.375, + 94.4375 + ], + "rss_before_mib": 74.046875, + "rss_before_samples_mib": [ + 74.078125, + 74.015625, + 74.109375, + 73.9375, + 74.140625, + 74.015625, + 74.046875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 18730.0, + "cpu_samples_us": [ + 18715.0, + 18848.0, + 18799.0, + 18730.0, + 20802.0, + 18617.0, + 18644.0 + ], + "peak_rss_mib": 52.75, + "peak_rss_samples_mib": [ + 52.734375, + 52.75, + 52.75, + 52.734375, + 52.75, + 52.75, + 52.75 + ], + "rss_after_mib": 52.359375, + "rss_after_samples_mib": [ + 52.34375, + 52.359375, + 52.359375, + 52.34375, + 52.359375, + 52.359375, + 52.359375 + ], + "rss_before_mib": 35.265625, + "rss_before_samples_mib": [ + 35.25, + 35.265625, + 35.265625, + 35.25, + 35.265625, + 35.265625, + 35.265625 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 8277.25, + "cpu_samples_us": [ + 8277.25, + 8221.0, + 8256.75, + 8291.5, + 8299.0, + 8367.75, + 8272.75 + ], + "peak_rss_mib": 85.8125, + "peak_rss_samples_mib": [ + 85.796875, + 85.796875, + 85.8125, + 85.8125, + 85.8125, + 85.8125, + 85.8125 + ], + "rss_after_mib": 85.328125, + "rss_after_samples_mib": [ + 85.3125, + 85.3125, + 85.328125, + 85.328125, + 85.328125, + 85.328125, + 85.328125 + ], + "rss_before_mib": 25.796875, + "rss_before_samples_mib": [ + 25.78125, + 25.78125, + 25.796875, + 25.796875, + 25.796875, + 25.796875, + 25.796875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 8269.25, + "cpu_samples_us": [ + 8279.25, + 8209.25, + 8287.5, + 8220.5, + 8275.25, + 8258.5, + 8269.25 + ], + "peak_rss_mib": 85.84375, + "peak_rss_samples_mib": [ + 85.84375, + 85.828125, + 85.828125, + 85.84375, + 85.84375, + 85.828125, + 85.84375 + ], + "rss_after_mib": 85.34375, + "rss_after_samples_mib": [ + 85.34375, + 85.328125, + 85.328125, + 85.34375, + 85.34375, + 85.328125, + 85.34375 + ], + "rss_before_mib": 25.796875, + "rss_before_samples_mib": [ + 25.8125, + 25.796875, + 25.796875, + 25.8125, + 25.796875, + 25.796875, + 25.796875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 27079.25, + "cpu_samples_us": [ + 26203.5, + 27621.25, + 27079.25, + 28314.25, + 27567.0, + 26731.25, + 26875.75 + ], + "peak_rss_mib": 159.375, + "peak_rss_samples_mib": [ + 159.375, + 159.328125, + 159.28125, + 159.40625, + 159.453125, + 159.375, + 159.296875 + ], + "rss_after_mib": 147.125, + "rss_after_samples_mib": [ + 147.203125, + 147.03125, + 147.125, + 147.140625, + 147.203125, + 147.109375, + 147.015625 + ], + "rss_before_mib": 74.078125, + "rss_before_samples_mib": [ + 74.078125, + 74.015625, + 74.109375, + 74.140625, + 74.078125, + 74.0625, + 74.0 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 21805.0, + "cpu_samples_us": [ + 23548.75, + 21784.75, + 21840.75, + 21805.0, + 21755.75, + 21710.0, + 22063.75 + ], + "peak_rss_mib": 92.265625, + "peak_rss_samples_mib": [ + 92.53125, + 92.5, + 92.25, + 92.265625, + 92.546875, + 92.25, + 92.140625 + ], + "rss_after_mib": 91.875, + "rss_after_samples_mib": [ + 92.140625, + 92.109375, + 91.859375, + 91.875, + 92.15625, + 91.859375, + 91.75 + ], + "rss_before_mib": 35.265625, + "rss_before_samples_mib": [ + 35.265625, + 35.265625, + 35.25, + 35.28125, + 35.265625, + 35.265625, + 35.296875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 29710.0, + "cpu_samples_us": [ + 29710.0, + 29702.0, + 29504.0, + 29685.0, + 29784.0, + 29809.0, + 29833.0 + ], + "peak_rss_mib": 79.890625, + "peak_rss_samples_mib": [ + 79.921875, + 79.890625, + 79.921875, + 79.890625, + 79.890625, + 79.890625, + 79.921875 + ], + "rss_after_mib": 77.328125, + "rss_after_samples_mib": [ + 77.359375, + 77.328125, + 77.359375, + 77.328125, + 77.328125, + 77.328125, + 77.359375 + ], + "rss_before_mib": 44.15625, + "rss_before_samples_mib": [ + 44.15625, + 44.15625, + 44.15625, + 44.140625, + 44.15625, + 44.15625, + 44.15625 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 29807.0, + "cpu_samples_us": [ + 29827.0, + 29801.0, + 29790.0, + 29830.0, + 29807.0, + 29785.0, + 29979.0 + ], + "peak_rss_mib": 79.921875, + "peak_rss_samples_mib": [ + 79.921875, + 79.953125, + 79.953125, + 79.921875, + 79.921875, + 79.953125, + 79.921875 + ], + "rss_after_mib": 77.34375, + "rss_after_samples_mib": [ + 77.34375, + 77.375, + 77.375, + 77.34375, + 77.34375, + 77.375, + 77.34375 + ], + "rss_before_mib": 44.171875, + "rss_before_samples_mib": [ + 44.171875, + 44.171875, + 44.171875, + 44.171875, + 44.171875, + 44.171875, + 44.171875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 7737.0, + "cpu_samples_us": [ + 7735.0, + 7741.0, + 7737.0, + 7688.0, + 7754.0, + 8052.0, + 7699.0 + ], + "peak_rss_mib": 118.40625, + "peak_rss_samples_mib": [ + 118.453125, + 118.390625, + 118.375, + 118.40625, + 118.40625, + 118.453125, + 118.34375 + ], + "rss_after_mib": 114.328125, + "rss_after_samples_mib": [ + 114.4375, + 114.328125, + 114.328125, + 114.34375, + 114.328125, + 114.328125, + 114.296875 + ], + "rss_before_mib": 100.796875, + "rss_before_samples_mib": [ + 100.9375, + 100.828125, + 100.796875, + 100.78125, + 100.78125, + 100.78125, + 100.8125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 8221.0, + "cpu_samples_us": [ + 8240.0, + 8269.0, + 8216.0, + 8252.0, + 8221.0, + 8221.0, + 8197.0 + ], + "peak_rss_mib": 73.890625, + "peak_rss_samples_mib": [ + 73.890625, + 73.875, + 73.890625, + 73.890625, + 73.890625, + 73.890625, + 73.890625 + ], + "rss_after_mib": 73.5, + "rss_after_samples_mib": [ + 73.5, + 73.484375, + 73.5, + 73.5, + 73.5, + 73.5, + 73.5 + ], + "rss_before_mib": 59.125, + "rss_before_samples_mib": [ + 59.125, + 59.109375, + 59.125, + 59.125, + 59.125, + 59.125, + 59.125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 16205.0, + "cpu_samples_us": [ + 16214.75, + 16176.0, + 16146.0, + 16205.0, + 16190.5, + 16234.75, + 16256.75 + ], + "peak_rss_mib": 99.140625, + "peak_rss_samples_mib": [ + 99.140625, + 99.15625, + 99.109375, + 99.140625, + 99.109375, + 99.15625, + 99.140625 + ], + "rss_after_mib": 98.640625, + "rss_after_samples_mib": [ + 98.640625, + 98.65625, + 98.609375, + 98.640625, + 98.609375, + 98.65625, + 98.640625 + ], + "rss_before_mib": 44.15625, + "rss_before_samples_mib": [ + 44.15625, + 44.15625, + 44.15625, + 44.140625, + 44.15625, + 44.15625, + 44.15625 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 16214.75, + "cpu_samples_us": [ + 16133.5, + 16163.75, + 16214.75, + 16191.25, + 16240.5, + 16223.25, + 16304.5 + ], + "peak_rss_mib": 99.171875, + "peak_rss_samples_mib": [ + 99.140625, + 99.1875, + 99.140625, + 99.171875, + 99.171875, + 99.1875, + 99.171875 + ], + "rss_after_mib": 98.65625, + "rss_after_samples_mib": [ + 98.625, + 98.671875, + 98.625, + 98.65625, + 98.65625, + 98.671875, + 98.65625 + ], + "rss_before_mib": 44.171875, + "rss_before_samples_mib": [ + 44.171875, + 44.171875, + 44.171875, + 44.15625, + 44.171875, + 44.171875, + 44.171875 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 8903.5, + "cpu_samples_us": [ + 8920.5, + 8792.75, + 8759.75, + 8855.5, + 8903.5, + 9067.25, + 9056.5 + ], + "peak_rss_mib": 144.796875, + "peak_rss_samples_mib": [ + 144.796875, + 144.8125, + 144.875, + 144.625, + 144.75, + 144.84375, + 144.65625 + ], + "rss_after_mib": 144.109375, + "rss_after_samples_mib": [ + 144.1875, + 144.109375, + 144.25, + 143.921875, + 144.109375, + 144.1875, + 144.015625 + ], + "rss_before_mib": 100.828125, + "rss_before_samples_mib": [ + 100.828125, + 100.71875, + 100.9375, + 100.734375, + 100.78125, + 100.953125, + 100.828125 + ] + }, + { + "fixture": "records_array_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 9397.25, + "cpu_samples_us": [ + 9384.25, + 9436.25, + 9404.5, + 9397.75, + 9347.0, + 9378.5, + 9397.25 + ], + "peak_rss_mib": 94.90625, + "peak_rss_samples_mib": [ + 94.90625, + 94.90625, + 94.453125, + 94.90625, + 94.921875, + 94.90625, + 94.90625 + ], + "rss_after_mib": 94.515625, + "rss_after_samples_mib": [ + 94.515625, + 94.515625, + 94.0625, + 94.515625, + 94.53125, + 94.515625, + 94.515625 + ], + "rss_before_mib": 59.125, + "rss_before_samples_mib": [ + 59.125, + 59.140625, + 59.109375, + 59.125, + 59.140625, + 59.125, + 59.109375 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 14440.0, + "cpu_samples_us": [ + 14531.0, + 14418.0, + 14440.0, + 14591.0, + 14437.0, + 14404.0, + 14443.0 + ], + "peak_rss_mib": 45.453125, + "peak_rss_samples_mib": [ + 45.453125, + 45.453125, + 45.453125, + 45.453125, + 45.4375, + 45.453125, + 45.453125 + ], + "rss_after_mib": 33.171875, + "rss_after_samples_mib": [ + 33.171875, + 33.15625, + 33.171875, + 33.171875, + 33.15625, + 33.171875, + 33.171875 + ], + "rss_before_mib": 25.796875, + "rss_before_samples_mib": [ + 25.796875, + 25.78125, + 25.796875, + 25.796875, + 25.78125, + 25.796875, + 25.796875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 14484.0, + "cpu_samples_us": [ + 14441.0, + 14528.0, + 14417.0, + 14484.0, + 14381.0, + 14484.0, + 14486.0 + ], + "peak_rss_mib": 45.484375, + "peak_rss_samples_mib": [ + 45.484375, + 45.484375, + 45.46875, + 45.46875, + 45.484375, + 45.484375, + 45.484375 + ], + "rss_after_mib": 33.1875, + "rss_after_samples_mib": [ + 33.1875, + 33.1875, + 33.171875, + 33.171875, + 33.1875, + 33.1875, + 33.1875 + ], + "rss_before_mib": 25.8125, + "rss_before_samples_mib": [ + 25.8125, + 25.8125, + 25.796875, + 25.796875, + 25.8125, + 25.8125, + 25.8125 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 28698.0, + "cpu_samples_us": [ + 29408.0, + 28698.0, + 27995.0, + 28943.0, + 28885.0, + 27487.0, + 27481.0 + ], + "peak_rss_mib": 97.796875, + "peak_rss_samples_mib": [ + 97.765625, + 97.796875, + 97.875, + 97.890625, + 97.703125, + 97.84375, + 97.734375 + ], + "rss_after_mib": 94.4375, + "rss_after_samples_mib": [ + 94.40625, + 94.4375, + 94.5, + 94.5, + 94.40625, + 94.453125, + 94.390625 + ], + "rss_before_mib": 74.0625, + "rss_before_samples_mib": [ + 74.0625, + 74.078125, + 74.0625, + 74.0625, + 74.0625, + 74.109375, + 73.984375 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 18557.0, + "cpu_samples_us": [ + 18604.0, + 18557.0, + 18538.0, + 18614.0, + 18615.0, + 18553.0, + 18556.0 + ], + "peak_rss_mib": 52.75, + "peak_rss_samples_mib": [ + 52.75, + 52.765625, + 52.765625, + 52.734375, + 52.734375, + 52.734375, + 52.75 + ], + "rss_after_mib": 52.359375, + "rss_after_samples_mib": [ + 52.359375, + 52.375, + 52.375, + 52.34375, + 52.34375, + 52.34375, + 52.359375 + ], + "rss_before_mib": 35.265625, + "rss_before_samples_mib": [ + 35.265625, + 35.28125, + 35.28125, + 35.25, + 35.25, + 35.25, + 35.265625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 22363.25, + "cpu_samples_us": [ + 22343.0, + 22312.0, + 22363.25, + 22338.75, + 22423.0, + 22391.75, + 22436.25 + ], + "peak_rss_mib": 94.171875, + "peak_rss_samples_mib": [ + 94.171875, + 94.171875, + 94.171875, + 94.1875, + 94.171875, + 94.171875, + 94.1875 + ], + "rss_after_mib": 90.9375, + "rss_after_samples_mib": [ + 90.9375, + 90.9375, + 90.9375, + 90.953125, + 90.9375, + 90.9375, + 90.953125 + ], + "rss_before_mib": 25.78125, + "rss_before_samples_mib": [ + 25.78125, + 25.78125, + 25.78125, + 25.796875, + 25.78125, + 25.78125, + 25.796875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 22370.25, + "cpu_samples_us": [ + 22325.0, + 22372.0, + 22376.75, + 22341.0, + 22423.0, + 22370.25, + 22280.5 + ], + "peak_rss_mib": 94.203125, + "peak_rss_samples_mib": [ + 94.203125, + 94.203125, + 94.203125, + 94.203125, + 94.203125, + 94.203125, + 94.203125 + ], + "rss_after_mib": 90.953125, + "rss_after_samples_mib": [ + 90.953125, + 90.953125, + 90.953125, + 90.953125, + 90.953125, + 90.953125, + 90.953125 + ], + "rss_before_mib": 25.8125, + "rss_before_samples_mib": [ + 25.8125, + 25.796875, + 25.8125, + 25.8125, + 25.8125, + 25.8125, + 25.796875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 27837.75, + "cpu_samples_us": [ + 28121.25, + 28159.0, + 26315.0, + 27837.75, + 28474.5, + 27462.75, + 26632.25 + ], + "peak_rss_mib": 159.34375, + "peak_rss_samples_mib": [ + 159.234375, + 159.453125, + 159.453125, + 159.03125, + 159.328125, + 159.625, + 159.34375 + ], + "rss_after_mib": 147.03125, + "rss_after_samples_mib": [ + 147.03125, + 146.8125, + 147.140625, + 146.84375, + 147.078125, + 147.25, + 147.015625 + ], + "rss_before_mib": 74.0625, + "rss_before_samples_mib": [ + 74.0625, + 74.015625, + 74.140625, + 73.984375, + 74.078125, + 74.15625, + 74.0625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-parse", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 21774.5, + "cpu_samples_us": [ + 21929.25, + 21828.25, + 21809.25, + 21774.5, + 21752.25, + 21718.75, + 21735.75 + ], + "peak_rss_mib": 92.28125, + "peak_rss_samples_mib": [ + 92.25, + 92.359375, + 92.515625, + 92.25, + 92.28125, + 92.296875, + 92.265625 + ], + "rss_after_mib": 91.890625, + "rss_after_samples_mib": [ + 91.859375, + 91.96875, + 92.125, + 91.859375, + 91.890625, + 91.90625, + 91.875 + ], + "rss_before_mib": 35.265625, + "rss_before_samples_mib": [ + 35.265625, + 35.25, + 35.265625, + 35.265625, + 35.25, + 35.28125, + 35.28125 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 30023.0, + "cpu_samples_us": [ + 29969.0, + 30023.0, + 29944.0, + 29914.0, + 31372.0, + 30427.0, + 30509.0 + ], + "peak_rss_mib": 79.90625, + "peak_rss_samples_mib": [ + 79.90625, + 79.9375, + 79.90625, + 79.90625, + 79.9375, + 79.90625, + 79.90625 + ], + "rss_after_mib": 77.34375, + "rss_after_samples_mib": [ + 77.34375, + 77.375, + 77.34375, + 77.34375, + 77.375, + 77.34375, + 77.34375 + ], + "rss_before_mib": 44.15625, + "rss_before_samples_mib": [ + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 30019.0, + "cpu_samples_us": [ + 29949.0, + 30032.0, + 30024.0, + 29836.0, + 30019.0, + 30950.0, + 29853.0 + ], + "peak_rss_mib": 79.9375, + "peak_rss_samples_mib": [ + 79.9375, + 79.96875, + 79.9375, + 79.953125, + 79.9375, + 79.96875, + 79.9375 + ], + "rss_after_mib": 77.359375, + "rss_after_samples_mib": [ + 77.359375, + 77.390625, + 77.359375, + 77.375, + 77.359375, + 77.390625, + 77.359375 + ], + "rss_before_mib": 44.171875, + "rss_before_samples_mib": [ + 44.171875, + 44.171875, + 44.15625, + 44.171875, + 44.171875, + 44.171875, + 44.171875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 7884.0, + "cpu_samples_us": [ + 7813.0, + 7929.0, + 7884.0, + 7927.0, + 7880.0, + 8111.0, + 7772.0 + ], + "peak_rss_mib": 118.375, + "peak_rss_samples_mib": [ + 118.375, + 118.359375, + 118.5, + 118.375, + 118.28125, + 118.328125, + 118.46875 + ], + "rss_after_mib": 114.3125, + "rss_after_samples_mib": [ + 114.328125, + 114.3125, + 114.453125, + 114.21875, + 114.25, + 114.234375, + 114.34375 + ], + "rss_before_mib": 100.796875, + "rss_before_samples_mib": [ + 100.828125, + 100.796875, + 100.875, + 100.6875, + 100.75, + 100.703125, + 100.796875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 8269.0, + "cpu_samples_us": [ + 8242.0, + 8288.0, + 8302.0, + 8741.0, + 8265.0, + 8164.0, + 8269.0 + ], + "peak_rss_mib": 73.90625, + "peak_rss_samples_mib": [ + 73.875, + 73.90625, + 73.90625, + 73.90625, + 73.890625, + 73.859375, + 73.921875 + ], + "rss_after_mib": 73.515625, + "rss_after_samples_mib": [ + 73.484375, + 73.515625, + 73.515625, + 73.515625, + 73.5, + 73.46875, + 73.53125 + ], + "rss_before_mib": 59.140625, + "rss_before_samples_mib": [ + 59.109375, + 59.140625, + 59.140625, + 59.140625, + 59.125, + 59.09375, + 59.15625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "perry", + "repetitions": 7, + "cpu_us": 16374.0, + "cpu_samples_us": [ + 16186.0, + 16836.0, + 16461.25, + 16341.75, + 16366.75, + 16374.0, + 16416.0 + ], + "peak_rss_mib": 99.140625, + "peak_rss_samples_mib": [ + 99.125, + 99.140625, + 99.140625, + 99.125, + 99.140625, + 99.125, + 99.140625 + ], + "rss_after_mib": 98.640625, + "rss_after_samples_mib": [ + 98.625, + 98.640625, + 98.640625, + 98.625, + 98.640625, + 98.625, + 98.640625 + ], + "rss_before_mib": 44.15625, + "rss_before_samples_mib": [ + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625, + 44.15625 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 16335.0, + "cpu_samples_us": [ + 16240.25, + 16335.0, + 16567.0, + 16466.75, + 16323.5, + 16355.25, + 16334.75 + ], + "peak_rss_mib": 99.15625, + "peak_rss_samples_mib": [ + 99.15625, + 99.15625, + 99.171875, + 99.171875, + 99.15625, + 99.15625, + 99.1875 + ], + "rss_after_mib": 98.640625, + "rss_after_samples_mib": [ + 98.640625, + 98.640625, + 98.65625, + 98.65625, + 98.640625, + 98.640625, + 98.671875 + ], + "rss_before_mib": 44.171875, + "rss_before_samples_mib": [ + 44.15625, + 44.171875, + 44.171875, + 44.171875, + 44.171875, + 44.171875, + 44.171875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "node", + "repetitions": 7, + "cpu_us": 9046.0, + "cpu_samples_us": [ + 8975.0, + 9345.5, + 9377.0, + 9433.0, + 8813.75, + 9046.0, + 8950.5 + ], + "peak_rss_mib": 144.671875, + "peak_rss_samples_mib": [ + 144.59375, + 144.734375, + 144.625, + 144.703125, + 144.703125, + 144.328125, + 144.671875 + ], + "rss_after_mib": 144.0625, + "rss_after_samples_mib": [ + 143.9375, + 144.109375, + 143.96875, + 144.0625, + 144.078125, + 143.6875, + 144.078125 + ], + "rss_before_mib": 100.78125, + "rss_before_samples_mib": [ + 100.6875, + 100.78125, + 100.78125, + 100.84375, + 100.8125, + 100.6875, + 100.875 + ] + }, + { + "fixture": "records_object_8m", + "operation": "retain-stringify", + "iterations": 4, + "engine": "bun", + "repetitions": 7, + "cpu_us": 9482.25, + "cpu_samples_us": [ + 9437.75, + 9437.0, + 9482.25, + 10042.0, + 9513.0, + 9478.5, + 9498.0 + ], + "peak_rss_mib": 94.90625, + "peak_rss_samples_mib": [ + 94.90625, + 94.90625, + 94.890625, + 94.90625, + 94.90625, + 94.90625, + 94.9375 + ], + "rss_after_mib": 94.515625, + "rss_after_samples_mib": [ + 94.515625, + 94.515625, + 94.5, + 94.515625, + 94.515625, + 94.515625, + 94.546875 + ], + "rss_before_mib": 59.140625, + "rss_before_samples_mib": [ + 59.140625, + 59.140625, + 59.109375, + 59.15625, + 59.125, + 59.109375, + 59.171875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 163.0, + "cpu_samples_us": [ + 163.0, + 159.0, + 180.0, + 173.0, + 160.0, + 167.0, + 163.0 + ], + "peak_rss_mib": 16.328125, + "peak_rss_samples_mib": [ + 16.328125, + 16.328125, + 16.328125, + 16.34375, + 16.328125, + 16.328125, + 16.34375 + ], + "rss_after_mib": 15.296875, + "rss_after_samples_mib": [ + 15.296875, + 15.296875, + 15.296875, + 15.3125, + 15.296875, + 15.296875, + 15.3125 + ], + "rss_before_mib": 13.96875, + "rss_before_samples_mib": [ + 13.96875, + 13.96875, + 13.96875, + 13.984375, + 13.96875, + 13.96875, + 13.984375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 166.0, + "cpu_samples_us": [ + 166.0, + 164.0, + 178.0, + 182.0, + 170.0, + 161.0, + 162.0 + ], + "peak_rss_mib": 16.359375, + "peak_rss_samples_mib": [ + 16.359375, + 16.359375, + 16.375, + 16.359375, + 16.375, + 16.359375, + 16.359375 + ], + "rss_after_mib": 15.3125, + "rss_after_samples_mib": [ + 15.3125, + 15.3125, + 15.328125, + 15.3125, + 15.328125, + 15.3125, + 15.3125 + ], + "rss_before_mib": 13.984375, + "rss_before_samples_mib": [ + 13.984375, + 13.984375, + 14.0, + 13.984375, + 14.0, + 13.984375, + 13.984375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 817.0, + "cpu_samples_us": [ + 815.0, + 817.0, + 896.0, + 920.0, + 807.0, + 811.0, + 817.0 + ], + "peak_rss_mib": 57.71875, + "peak_rss_samples_mib": [ + 57.78125, + 57.65625, + 57.609375, + 57.78125, + 57.71875, + 57.703125, + 57.734375 + ], + "rss_after_mib": 56.65625, + "rss_after_samples_mib": [ + 56.734375, + 56.640625, + 56.59375, + 56.75, + 56.6875, + 56.65625, + 56.640625 + ], + "rss_before_mib": 55.0625, + "rss_before_samples_mib": [ + 55.109375, + 55.0625, + 54.96875, + 55.140625, + 55.125, + 55.046875, + 54.984375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 129.0, + "cpu_samples_us": [ + 120.0, + 129.0, + 133.0, + 133.0, + 128.0, + 128.0, + 135.0 + ], + "peak_rss_mib": 30.984375, + "peak_rss_samples_mib": [ + 30.96875, + 30.953125, + 31.0, + 31.015625, + 30.953125, + 30.984375, + 30.984375 + ], + "rss_after_mib": 30.59375, + "rss_after_samples_mib": [ + 30.59375, + 30.578125, + 30.625, + 30.640625, + 30.578125, + 30.59375, + 30.609375 + ], + "rss_before_mib": 29.484375, + "rss_before_samples_mib": [ + 29.484375, + 29.46875, + 29.515625, + 29.53125, + 29.46875, + 29.484375, + 29.5 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 5.59375, + "cpu_samples_us": [ + 5.59375, + 5.75, + 5.78125, + 5.5, + 5.46875, + 5.71875, + 5.4375 + ], + "peak_rss_mib": 16.34375, + "peak_rss_samples_mib": [ + 16.34375, + 16.359375, + 16.34375, + 16.359375, + 16.34375, + 16.34375, + 16.34375 + ], + "rss_after_mib": 15.3125, + "rss_after_samples_mib": [ + 15.3125, + 15.328125, + 15.3125, + 15.328125, + 15.3125, + 15.3125, + 15.3125 + ], + "rss_before_mib": 13.96875, + "rss_before_samples_mib": [ + 13.96875, + 13.984375, + 13.96875, + 13.984375, + 13.96875, + 13.96875, + 13.96875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 5.625, + "cpu_samples_us": [ + 5.90625, + 5.625, + 5.34375, + 5.65625, + 5.625, + 5.5, + 5.34375 + ], + "peak_rss_mib": 16.390625, + "peak_rss_samples_mib": [ + 16.390625, + 16.375, + 16.390625, + 16.390625, + 16.375, + 16.390625, + 16.390625 + ], + "rss_after_mib": 15.34375, + "rss_after_samples_mib": [ + 15.34375, + 15.328125, + 15.34375, + 15.34375, + 15.328125, + 15.34375, + 15.34375 + ], + "rss_before_mib": 14.0, + "rss_before_samples_mib": [ + 14.0, + 13.984375, + 14.0, + 14.0, + 13.984375, + 14.0, + 14.0 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 466.15625, + "cpu_samples_us": [ + 466.6875, + 464.46875, + 468.90625, + 465.0, + 466.15625, + 466.1875, + 464.34375 + ], + "peak_rss_mib": 90.21875, + "peak_rss_samples_mib": [ + 90.25, + 90.25, + 90.15625, + 90.203125, + 90.265625, + 90.21875, + 90.203125 + ], + "rss_after_mib": 89.296875, + "rss_after_samples_mib": [ + 89.328125, + 89.359375, + 89.25, + 89.296875, + 89.359375, + 89.28125, + 89.28125 + ], + "rss_before_mib": 55.125, + "rss_before_samples_mib": [ + 55.125, + 55.1875, + 55.078125, + 55.125, + 55.140625, + 55.109375, + 55.171875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 140.03125, + "cpu_samples_us": [ + 140.03125, + 140.34375, + 136.34375, + 139.28125, + 137.03125, + 144.75, + 140.59375 + ], + "peak_rss_mib": 62.046875, + "peak_rss_samples_mib": [ + 62.03125, + 62.0625, + 62.046875, + 62.046875, + 62.03125, + 62.15625, + 62.109375 + ], + "rss_after_mib": 61.65625, + "rss_after_samples_mib": [ + 61.640625, + 61.671875, + 61.65625, + 61.65625, + 61.640625, + 61.765625, + 61.71875 + ], + "rss_before_mib": 29.484375, + "rss_before_samples_mib": [ + 29.46875, + 29.484375, + 29.5, + 29.46875, + 29.46875, + 29.546875, + 29.53125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 135.0, + "cpu_samples_us": [ + 135.0, + 139.0, + 133.0, + 137.0, + 133.0, + 132.0, + 141.0 + ], + "peak_rss_mib": 18.734375, + "peak_rss_samples_mib": [ + 18.734375, + 18.734375, + 18.734375, + 18.71875, + 18.734375, + 18.71875, + 18.71875 + ], + "rss_after_mib": 17.703125, + "rss_after_samples_mib": [ + 17.703125, + 17.703125, + 17.703125, + 17.6875, + 17.703125, + 17.6875, + 17.6875 + ], + "rss_before_mib": 16.59375, + "rss_before_samples_mib": [ + 16.59375, + 16.59375, + 16.59375, + 16.578125, + 16.59375, + 16.578125, + 16.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 133.0, + "cpu_samples_us": [ + 147.0, + 136.0, + 132.0, + 150.0, + 129.0, + 133.0, + 132.0 + ], + "peak_rss_mib": 18.765625, + "peak_rss_samples_mib": [ + 18.765625, + 18.765625, + 18.765625, + 18.765625, + 18.75, + 18.765625, + 18.75 + ], + "rss_after_mib": 17.71875, + "rss_after_samples_mib": [ + 17.71875, + 17.71875, + 17.71875, + 17.71875, + 17.703125, + 17.71875, + 17.703125 + ], + "rss_before_mib": 16.609375, + "rss_before_samples_mib": [ + 16.609375, + 16.609375, + 16.609375, + 16.609375, + 16.59375, + 16.609375, + 16.59375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 936.0, + "cpu_samples_us": [ + 887.0, + 973.0, + 958.0, + 922.0, + 932.0, + 936.0, + 942.0 + ], + "peak_rss_mib": 61.703125, + "peak_rss_samples_mib": [ + 61.625, + 61.75, + 61.671875, + 61.734375, + 61.5625, + 61.703125, + 61.703125 + ], + "rss_after_mib": 60.75, + "rss_after_samples_mib": [ + 60.6875, + 60.765625, + 60.734375, + 60.796875, + 60.625, + 60.75, + 60.765625 + ], + "rss_before_mib": 57.875, + "rss_before_samples_mib": [ + 57.828125, + 57.875, + 57.84375, + 57.875, + 57.71875, + 57.875, + 57.890625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 152.0, + "cpu_samples_us": [ + 163.0, + 152.0, + 154.0, + 146.0, + 150.0, + 161.0, + 151.0 + ], + "peak_rss_mib": 33.046875, + "peak_rss_samples_mib": [ + 33.046875, + 33.078125, + 33.046875, + 33.046875, + 33.046875, + 33.0625, + 33.0625 + ], + "rss_after_mib": 32.65625, + "rss_after_samples_mib": [ + 32.65625, + 32.6875, + 32.640625, + 32.65625, + 32.65625, + 32.65625, + 32.671875 + ], + "rss_before_mib": 31.59375, + "rss_before_samples_mib": [ + 31.59375, + 31.625, + 31.578125, + 31.59375, + 31.59375, + 31.59375, + 31.609375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 169.90625, + "cpu_samples_us": [ + 170.0625, + 171.6875, + 169.90625, + 167.96875, + 171.71875, + 169.3125, + 168.21875 + ], + "peak_rss_mib": 51.71875, + "peak_rss_samples_mib": [ + 51.734375, + 51.703125, + 51.703125, + 51.734375, + 51.703125, + 51.71875, + 51.71875 + ], + "rss_after_mib": 51.203125, + "rss_after_samples_mib": [ + 51.21875, + 51.1875, + 51.1875, + 51.21875, + 51.1875, + 51.203125, + 51.203125 + ], + "rss_before_mib": 16.59375, + "rss_before_samples_mib": [ + 16.59375, + 16.578125, + 16.59375, + 16.59375, + 16.59375, + 16.578125, + 16.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 171.90625, + "cpu_samples_us": [ + 196.0625, + 171.625, + 172.03125, + 171.90625, + 167.625, + 171.28125, + 173.25 + ], + "peak_rss_mib": 51.765625, + "peak_rss_samples_mib": [ + 51.765625, + 51.765625, + 51.734375, + 51.765625, + 51.734375, + 51.765625, + 51.765625 + ], + "rss_after_mib": 51.234375, + "rss_after_samples_mib": [ + 51.234375, + 51.234375, + 51.203125, + 51.234375, + 51.203125, + 51.234375, + 51.234375 + ], + "rss_before_mib": 16.609375, + "rss_before_samples_mib": [ + 16.609375, + 16.609375, + 16.609375, + 16.59375, + 16.609375, + 16.609375, + 16.609375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 193.75, + "cpu_samples_us": [ + 190.1875, + 195.71875, + 194.125, + 189.625, + 193.75, + 191.5, + 196.3125 + ], + "peak_rss_mib": 93.359375, + "peak_rss_samples_mib": [ + 93.28125, + 93.328125, + 93.421875, + 93.40625, + 93.359375, + 93.359375, + 93.390625 + ], + "rss_after_mib": 92.421875, + "rss_after_samples_mib": [ + 92.328125, + 92.390625, + 92.4375, + 92.484375, + 92.421875, + 92.390625, + 92.453125 + ], + "rss_before_mib": 57.84375, + "rss_before_samples_mib": [ + 57.8125, + 57.796875, + 57.84375, + 57.875, + 57.890625, + 57.78125, + 57.859375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 171.90625, + "cpu_samples_us": [ + 185.875, + 172.40625, + 168.375, + 170.21875, + 173.40625, + 171.90625, + 168.375 + ], + "peak_rss_mib": 64.203125, + "peak_rss_samples_mib": [ + 64.1875, + 64.21875, + 64.15625, + 64.21875, + 64.203125, + 64.234375, + 64.203125 + ], + "rss_after_mib": 63.796875, + "rss_after_samples_mib": [ + 63.78125, + 63.8125, + 63.75, + 63.8125, + 63.796875, + 63.828125, + 63.796875 + ], + "rss_before_mib": 31.59375, + "rss_before_samples_mib": [ + 31.625, + 31.59375, + 31.578125, + 31.609375, + 31.59375, + 31.609375, + 31.59375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 199.0, + "cpu_samples_us": [ + 220.0, + 206.0, + 204.0, + 198.0, + 199.0, + 195.0, + 194.0 + ], + "peak_rss_mib": 15.671875, + "peak_rss_samples_mib": [ + 15.671875, + 15.65625, + 15.671875, + 15.671875, + 15.671875, + 15.65625, + 15.65625 + ], + "rss_after_mib": 14.640625, + "rss_after_samples_mib": [ + 14.640625, + 14.625, + 14.640625, + 14.640625, + 14.640625, + 14.625, + 14.625 + ], + "rss_before_mib": 13.484375, + "rss_before_samples_mib": [ + 13.484375, + 13.46875, + 13.484375, + 13.484375, + 13.484375, + 13.46875, + 13.46875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 197.0, + "cpu_samples_us": [ + 197.0, + 206.0, + 211.0, + 197.0, + 194.0, + 199.0, + 196.0 + ], + "peak_rss_mib": 15.6875, + "peak_rss_samples_mib": [ + 15.6875, + 15.703125, + 15.703125, + 15.6875, + 15.6875, + 15.703125, + 15.6875 + ], + "rss_after_mib": 14.640625, + "rss_after_samples_mib": [ + 14.640625, + 14.65625, + 14.65625, + 14.640625, + 14.640625, + 14.65625, + 14.640625 + ], + "rss_before_mib": 13.484375, + "rss_before_samples_mib": [ + 13.484375, + 13.5, + 13.5, + 13.484375, + 13.484375, + 13.5, + 13.484375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1235.0, + "cpu_samples_us": [ + 1239.0, + 1235.0, + 1222.0, + 1216.0, + 1306.0, + 1225.0, + 1274.0 + ], + "peak_rss_mib": 58.59375, + "peak_rss_samples_mib": [ + 58.59375, + 58.5625, + 58.609375, + 58.59375, + 58.53125, + 58.625, + 58.53125 + ], + "rss_after_mib": 57.84375, + "rss_after_samples_mib": [ + 57.84375, + 57.828125, + 57.890625, + 57.890625, + 57.796875, + 57.90625, + 57.765625 + ], + "rss_before_mib": 55.796875, + "rss_before_samples_mib": [ + 55.796875, + 55.78125, + 55.859375, + 55.84375, + 55.734375, + 55.875, + 55.75 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 117.0, + "cpu_samples_us": [ + 119.0, + 110.0, + 117.0, + 114.0, + 127.0, + 116.0, + 120.0 + ], + "peak_rss_mib": 31.6875, + "peak_rss_samples_mib": [ + 31.65625, + 31.6875, + 31.6875, + 31.6875, + 31.6875, + 31.6875, + 31.671875 + ], + "rss_after_mib": 31.3125, + "rss_after_samples_mib": [ + 31.28125, + 31.3125, + 31.3125, + 31.3125, + 31.3125, + 31.3125, + 31.296875 + ], + "rss_before_mib": 30.3125, + "rss_before_samples_mib": [ + 30.28125, + 30.3125, + 30.3125, + 30.3125, + 30.3125, + 30.3125, + 30.296875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 6.6875, + "cpu_samples_us": [ + 6.5, + 6.5625, + 6.625, + 6.71875, + 6.6875, + 7.09375, + 6.6875 + ], + "peak_rss_mib": 15.671875, + "peak_rss_samples_mib": [ + 15.671875, + 15.671875, + 15.671875, + 15.671875, + 15.671875, + 15.6875, + 15.671875 + ], + "rss_after_mib": 14.640625, + "rss_after_samples_mib": [ + 14.640625, + 14.640625, + 14.640625, + 14.640625, + 14.640625, + 14.65625, + 14.640625 + ], + "rss_before_mib": 13.46875, + "rss_before_samples_mib": [ + 13.46875, + 13.46875, + 13.46875, + 13.46875, + 13.46875, + 13.484375, + 13.46875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 6.78125, + "cpu_samples_us": [ + 6.75, + 6.78125, + 6.5625, + 6.8125, + 6.84375, + 6.71875, + 6.78125 + ], + "peak_rss_mib": 15.703125, + "peak_rss_samples_mib": [ + 15.703125, + 15.71875, + 15.703125, + 15.71875, + 15.703125, + 15.703125, + 15.703125 + ], + "rss_after_mib": 14.65625, + "rss_after_samples_mib": [ + 14.65625, + 14.671875, + 14.65625, + 14.671875, + 14.65625, + 14.65625, + 14.65625 + ], + "rss_before_mib": 13.484375, + "rss_before_samples_mib": [ + 13.484375, + 13.5, + 13.484375, + 13.5, + 13.484375, + 13.484375, + 13.484375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 528.4375, + "cpu_samples_us": [ + 530.0625, + 528.65625, + 527.0625, + 528.4375, + 528.09375, + 530.90625, + 527.125 + ], + "peak_rss_mib": 87.125, + "peak_rss_samples_mib": [ + 87.171875, + 87.125, + 87.15625, + 87.140625, + 87.109375, + 87.09375, + 87.03125 + ], + "rss_after_mib": 86.46875, + "rss_after_samples_mib": [ + 86.5, + 86.46875, + 86.546875, + 86.515625, + 86.453125, + 86.4375, + 86.40625 + ], + "rss_before_mib": 55.796875, + "rss_before_samples_mib": [ + 55.796875, + 55.796875, + 55.90625, + 55.890625, + 55.734375, + 55.78125, + 55.75 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-parse", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 103.375, + "cpu_samples_us": [ + 105.4375, + 103.40625, + 103.84375, + 103.0, + 103.375, + 101.96875, + 102.6875 + ], + "peak_rss_mib": 59.40625, + "peak_rss_samples_mib": [ + 59.390625, + 59.421875, + 59.390625, + 59.40625, + 59.421875, + 59.375, + 59.40625 + ], + "rss_after_mib": 59.015625, + "rss_after_samples_mib": [ + 59.0, + 59.03125, + 59.0, + 59.015625, + 59.03125, + 58.984375, + 59.015625 + ], + "rss_before_mib": 30.296875, + "rss_before_samples_mib": [ + 30.296875, + 30.328125, + 30.296875, + 30.3125, + 30.328125, + 30.28125, + 30.296875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 118.0, + "cpu_samples_us": [ + 115.0, + 116.0, + 112.0, + 119.0, + 126.0, + 120.0, + 118.0 + ], + "peak_rss_mib": 17.59375, + "peak_rss_samples_mib": [ + 17.578125, + 17.59375, + 17.578125, + 17.59375, + 17.59375, + 17.59375, + 17.59375 + ], + "rss_after_mib": 16.5625, + "rss_after_samples_mib": [ + 16.546875, + 16.5625, + 16.546875, + 16.5625, + 16.5625, + 16.5625, + 16.5625 + ], + "rss_before_mib": 15.59375, + "rss_before_samples_mib": [ + 15.59375, + 15.609375, + 15.59375, + 15.59375, + 15.609375, + 15.609375, + 15.59375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 117.0, + "cpu_samples_us": [ + 116.0, + 115.0, + 120.0, + 114.0, + 117.0, + 118.0, + 126.0 + ], + "peak_rss_mib": 17.625, + "peak_rss_samples_mib": [ + 17.609375, + 17.625, + 17.625, + 17.625, + 17.625, + 17.609375, + 17.609375 + ], + "rss_after_mib": 16.578125, + "rss_after_samples_mib": [ + 16.5625, + 16.578125, + 16.578125, + 16.578125, + 16.578125, + 16.5625, + 16.5625 + ], + "rss_before_mib": 15.625, + "rss_before_samples_mib": [ + 15.609375, + 15.625, + 15.625, + 15.625, + 15.625, + 15.609375, + 15.609375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1229.0, + "cpu_samples_us": [ + 1217.0, + 1243.0, + 1234.0, + 1228.0, + 1225.0, + 1246.0, + 1229.0 + ], + "peak_rss_mib": 61.671875, + "peak_rss_samples_mib": [ + 61.703125, + 61.640625, + 61.6875, + 61.609375, + 61.671875, + 61.640625, + 61.765625 + ], + "rss_after_mib": 60.984375, + "rss_after_samples_mib": [ + 61.0, + 60.953125, + 61.0, + 60.953125, + 60.984375, + 60.984375, + 61.0625 + ], + "rss_before_mib": 58.25, + "rss_before_samples_mib": [ + 58.265625, + 58.203125, + 58.25, + 58.1875, + 58.25, + 58.21875, + 58.3125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 583.0, + "cpu_samples_us": [ + 586.0, + 603.0, + 578.0, + 573.0, + 583.0, + 593.0, + 573.0 + ], + "peak_rss_mib": 34.5, + "peak_rss_samples_mib": [ + 34.484375, + 34.953125, + 34.5, + 34.5625, + 34.5, + 34.9375, + 34.484375 + ], + "rss_after_mib": 34.09375, + "rss_after_samples_mib": [ + 34.078125, + 34.546875, + 34.09375, + 34.15625, + 34.09375, + 34.53125, + 34.078125 + ], + "rss_before_mib": 32.1875, + "rss_before_samples_mib": [ + 32.171875, + 32.203125, + 32.203125, + 32.25, + 32.1875, + 32.1875, + 32.1875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 65.96875, + "cpu_samples_us": [ + 68.0625, + 65.96875, + 64.34375, + 65.75, + 68.0625, + 69.84375, + 65.40625 + ], + "peak_rss_mib": 42.96875, + "peak_rss_samples_mib": [ + 42.96875, + 42.96875, + 42.96875, + 42.96875, + 42.96875, + 42.953125, + 42.96875 + ], + "rss_after_mib": 41.9375, + "rss_after_samples_mib": [ + 41.9375, + 41.9375, + 41.9375, + 41.9375, + 41.9375, + 41.921875, + 41.9375 + ], + "rss_before_mib": 15.609375, + "rss_before_samples_mib": [ + 15.609375, + 15.609375, + 15.609375, + 15.609375, + 15.609375, + 15.59375, + 15.59375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 67.25, + "cpu_samples_us": [ + 67.25, + 69.71875, + 66.15625, + 71.375, + 66.78125, + 70.5, + 66.84375 + ], + "peak_rss_mib": 43.0, + "peak_rss_samples_mib": [ + 43.0, + 43.0, + 43.0, + 43.0, + 43.0, + 42.984375, + 42.984375 + ], + "rss_after_mib": 41.953125, + "rss_after_samples_mib": [ + 41.953125, + 41.953125, + 41.953125, + 41.953125, + 41.953125, + 41.9375, + 41.9375 + ], + "rss_before_mib": 15.625, + "rss_before_samples_mib": [ + 15.625, + 15.609375, + 15.625, + 15.625, + 15.625, + 15.609375, + 15.609375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 498.625, + "cpu_samples_us": [ + 499.0625, + 492.5, + 498.625, + 491.78125, + 499.0, + 499.03125, + 492.875 + ], + "peak_rss_mib": 89.96875, + "peak_rss_samples_mib": [ + 90.0, + 89.953125, + 89.921875, + 89.96875, + 89.9375, + 90.015625, + 90.015625 + ], + "rss_after_mib": 89.328125, + "rss_after_samples_mib": [ + 89.328125, + 89.296875, + 89.21875, + 89.34375, + 89.265625, + 89.34375, + 89.34375 + ], + "rss_before_mib": 58.25, + "rss_before_samples_mib": [ + 58.25, + 58.25, + 58.140625, + 58.265625, + 58.203125, + 58.28125, + 58.328125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 494.875, + "cpu_samples_us": [ + 496.53125, + 494.4375, + 494.875, + 492.875, + 495.4375, + 495.78125, + 494.375 + ], + "peak_rss_mib": 62.3125, + "peak_rss_samples_mib": [ + 62.671875, + 62.3125, + 62.625, + 62.234375, + 62.21875, + 62.734375, + 62.25 + ], + "rss_after_mib": 61.90625, + "rss_after_samples_mib": [ + 62.265625, + 61.90625, + 62.21875, + 61.828125, + 61.8125, + 62.328125, + 61.84375 + ], + "rss_before_mib": 32.203125, + "rss_before_samples_mib": [ + 32.171875, + 32.28125, + 32.15625, + 32.203125, + 32.171875, + 32.25, + 32.203125 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2626.0, + "cpu_samples_us": [ + 2598.0, + 2626.0, + 2630.0, + 2633.0, + 2597.0, + 2634.0, + 2610.0 + ], + "peak_rss_mib": 21.4375, + "peak_rss_samples_mib": [ + 21.4375, + 21.421875, + 21.4375, + 21.421875, + 21.4375, + 21.4375, + 21.421875 + ], + "rss_after_mib": 20.65625, + "rss_after_samples_mib": [ + 20.65625, + 20.640625, + 20.65625, + 20.640625, + 20.65625, + 20.65625, + 20.640625 + ], + "rss_before_mib": 13.65625, + "rss_before_samples_mib": [ + 13.671875, + 13.65625, + 13.671875, + 13.65625, + 13.671875, + 13.65625, + 13.65625 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2608.0, + "cpu_samples_us": [ + 2604.0, + 2613.0, + 2635.0, + 2617.0, + 2603.0, + 2597.0, + 2608.0 + ], + "peak_rss_mib": 21.46875, + "peak_rss_samples_mib": [ + 21.453125, + 21.453125, + 21.46875, + 21.453125, + 21.46875, + 21.46875, + 21.46875 + ], + "rss_after_mib": 20.671875, + "rss_after_samples_mib": [ + 20.65625, + 20.65625, + 20.671875, + 20.65625, + 20.671875, + 20.671875, + 20.671875 + ], + "rss_before_mib": 13.6875, + "rss_before_samples_mib": [ + 13.671875, + 13.671875, + 13.6875, + 13.671875, + 13.6875, + 13.6875, + 13.6875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 7525.0, + "cpu_samples_us": [ + 7525.0, + 7455.0, + 7533.0, + 7593.0, + 7486.0, + 7479.0, + 7786.0 + ], + "peak_rss_mib": 66.53125, + "peak_rss_samples_mib": [ + 66.5, + 66.59375, + 66.484375, + 66.578125, + 66.484375, + 66.53125, + 66.609375 + ], + "rss_after_mib": 65.796875, + "rss_after_samples_mib": [ + 65.75, + 65.84375, + 65.703125, + 65.8125, + 65.71875, + 65.796875, + 65.796875 + ], + "rss_before_mib": 55.234375, + "rss_before_samples_mib": [ + 55.1875, + 55.28125, + 55.1875, + 55.265625, + 55.203125, + 55.234375, + 55.25 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 5724.0, + "cpu_samples_us": [ + 5727.0, + 5724.0, + 5701.0, + 5672.0, + 5749.0, + 5750.0, + 5647.0 + ], + "peak_rss_mib": 36.734375, + "peak_rss_samples_mib": [ + 36.734375, + 36.734375, + 36.734375, + 36.75, + 36.734375, + 36.734375, + 36.75 + ], + "rss_after_mib": 36.34375, + "rss_after_samples_mib": [ + 36.34375, + 36.34375, + 36.34375, + 36.359375, + 36.34375, + 36.34375, + 36.359375 + ], + "rss_before_mib": 29.40625, + "rss_before_samples_mib": [ + 29.40625, + 29.40625, + 29.40625, + 29.421875, + 29.40625, + 29.40625, + 29.421875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 3691.6875, + "cpu_samples_us": [ + 3708.125, + 3692.5, + 3685.0, + 3683.25, + 3691.6875, + 3694.0, + 3683.875 + ], + "peak_rss_mib": 77.640625, + "peak_rss_samples_mib": [ + 77.640625, + 77.640625, + 77.640625, + 77.640625, + 77.640625, + 77.640625, + 77.640625 + ], + "rss_after_mib": 77.140625, + "rss_after_samples_mib": [ + 77.140625, + 77.140625, + 77.140625, + 77.140625, + 77.140625, + 77.140625, + 77.140625 + ], + "rss_before_mib": 13.65625, + "rss_before_samples_mib": [ + 13.671875, + 13.65625, + 13.65625, + 13.65625, + 13.65625, + 13.65625, + 13.671875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 3691.625, + "cpu_samples_us": [ + 3676.4375, + 3701.0625, + 3706.375, + 3687.5625, + 3702.8125, + 3673.625, + 3691.625 + ], + "peak_rss_mib": 77.671875, + "peak_rss_samples_mib": [ + 77.671875, + 77.671875, + 77.671875, + 77.671875, + 77.6875, + 77.671875, + 77.671875 + ], + "rss_after_mib": 77.15625, + "rss_after_samples_mib": [ + 77.15625, + 77.15625, + 77.15625, + 77.15625, + 77.171875, + 77.15625, + 77.15625 + ], + "rss_before_mib": 13.6875, + "rss_before_samples_mib": [ + 13.6875, + 13.671875, + 13.6875, + 13.671875, + 13.6875, + 13.6875, + 13.6875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 5576.9375, + "cpu_samples_us": [ + 5556.9375, + 5579.25, + 5576.9375, + 5578.6875, + 5565.0625, + 5539.3125, + 5582.75 + ], + "peak_rss_mib": 113.28125, + "peak_rss_samples_mib": [ + 113.28125, + 113.265625, + 113.34375, + 113.234375, + 113.234375, + 113.359375, + 113.28125 + ], + "rss_after_mib": 112.65625, + "rss_after_samples_mib": [ + 112.65625, + 112.609375, + 112.703125, + 112.578125, + 112.5625, + 112.71875, + 112.671875 + ], + "rss_before_mib": 55.234375, + "rss_before_samples_mib": [ + 55.328125, + 55.234375, + 55.21875, + 55.234375, + 55.15625, + 55.359375, + 55.265625 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-parse", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 4304.5, + "cpu_samples_us": [ + 4295.1875, + 4304.5, + 4286.5, + 4306.5625, + 4271.0625, + 4328.8125, + 4308.0 + ], + "peak_rss_mib": 69.3125, + "peak_rss_samples_mib": [ + 69.3125, + 69.328125, + 69.28125, + 69.296875, + 69.25, + 69.328125, + 69.328125 + ], + "rss_after_mib": 68.921875, + "rss_after_samples_mib": [ + 68.921875, + 68.9375, + 68.890625, + 68.90625, + 68.859375, + 68.9375, + 68.9375 + ], + "rss_before_mib": 29.40625, + "rss_before_samples_mib": [ + 29.40625, + 29.421875, + 29.390625, + 29.40625, + 29.375, + 29.421875, + 29.390625 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 2502.0, + "cpu_samples_us": [ + 2521.0, + 2497.0, + 2487.0, + 2502.0, + 2502.0, + 2491.0, + 2505.0 + ], + "peak_rss_mib": 23.859375, + "peak_rss_samples_mib": [ + 23.859375, + 23.859375, + 23.875, + 23.875, + 23.859375, + 23.859375, + 23.859375 + ], + "rss_after_mib": 22.828125, + "rss_after_samples_mib": [ + 22.828125, + 22.828125, + 22.84375, + 22.84375, + 22.828125, + 22.828125, + 22.828125 + ], + "rss_before_mib": 21.546875, + "rss_before_samples_mib": [ + 21.546875, + 21.546875, + 21.5625, + 21.5625, + 21.546875, + 21.546875, + 21.546875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 2505.0, + "cpu_samples_us": [ + 2505.0, + 2493.0, + 2491.0, + 2504.0, + 2511.0, + 2510.0, + 2509.0 + ], + "peak_rss_mib": 23.90625, + "peak_rss_samples_mib": [ + 23.90625, + 23.90625, + 23.890625, + 23.90625, + 23.90625, + 23.90625, + 23.890625 + ], + "rss_after_mib": 22.859375, + "rss_after_samples_mib": [ + 22.859375, + 22.859375, + 22.84375, + 22.859375, + 22.859375, + 22.859375, + 22.84375 + ], + "rss_before_mib": 21.578125, + "rss_before_samples_mib": [ + 21.578125, + 21.578125, + 21.5625, + 21.578125, + 21.578125, + 21.578125, + 21.5625 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 7627.0, + "cpu_samples_us": [ + 7523.0, + 7639.0, + 7636.0, + 7627.0, + 7556.0, + 7633.0, + 7568.0 + ], + "peak_rss_mib": 69.46875, + "peak_rss_samples_mib": [ + 69.46875, + 69.3125, + 69.421875, + 69.53125, + 69.40625, + 69.46875, + 69.5625 + ], + "rss_after_mib": 68.765625, + "rss_after_samples_mib": [ + 68.765625, + 68.609375, + 68.75, + 68.875, + 68.71875, + 68.78125, + 68.890625 + ], + "rss_before_mib": 66.46875, + "rss_before_samples_mib": [ + 66.5, + 66.359375, + 66.46875, + 66.546875, + 66.4375, + 66.453125, + 66.546875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 782.0, + "cpu_samples_us": [ + 791.0, + 782.0, + 793.0, + 788.0, + 768.0, + 772.0, + 780.0 + ], + "peak_rss_mib": 39.671875, + "peak_rss_samples_mib": [ + 39.65625, + 39.671875, + 39.65625, + 39.6875, + 39.640625, + 39.671875, + 39.703125 + ], + "rss_after_mib": 39.28125, + "rss_after_samples_mib": [ + 39.265625, + 39.28125, + 39.265625, + 39.296875, + 39.25, + 39.28125, + 39.3125 + ], + "rss_before_mib": 37.265625, + "rss_before_samples_mib": [ + 37.265625, + 37.265625, + 37.265625, + 37.296875, + 37.25, + 37.28125, + 37.3125 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "perry", + "repetitions": 7, + "cpu_us": 752.0625, + "cpu_samples_us": [ + 753.3125, + 761.4375, + 752.0625, + 750.6875, + 752.3125, + 750.4375, + 750.5625 + ], + "peak_rss_mib": 37.03125, + "peak_rss_samples_mib": [ + 37.03125, + 37.03125, + 37.03125, + 37.015625, + 37.03125, + 37.03125, + 37.015625 + ], + "rss_after_mib": 36.0, + "rss_after_samples_mib": [ + 36.0, + 36.0, + 36.0, + 35.984375, + 36.0, + 36.0, + 35.984375 + ], + "rss_before_mib": 21.5625, + "rss_before_samples_mib": [ + 21.5625, + 21.5625, + 21.5625, + 21.546875, + 21.5625, + 21.5625, + 21.546875 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 751.625, + "cpu_samples_us": [ + 749.1875, + 751.625, + 751.25, + 752.1875, + 753.875, + 752.875, + 748.25 + ], + "peak_rss_mib": 37.0625, + "peak_rss_samples_mib": [ + 37.0625, + 37.046875, + 37.0625, + 37.0625, + 37.046875, + 37.0625, + 37.0625 + ], + "rss_after_mib": 36.015625, + "rss_after_samples_mib": [ + 36.015625, + 36.0, + 36.015625, + 36.015625, + 36.0, + 36.015625, + 36.015625 + ], + "rss_before_mib": 21.578125, + "rss_before_samples_mib": [ + 21.578125, + 21.5625, + 21.578125, + 21.5625, + 21.5625, + 21.578125, + 21.578125 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "node", + "repetitions": 7, + "cpu_us": 6483.125, + "cpu_samples_us": [ + 6537.75, + 6523.9375, + 6471.3125, + 6437.25, + 6417.6875, + 6483.125, + 6486.8125 + ], + "peak_rss_mib": 87.328125, + "peak_rss_samples_mib": [ + 87.4375, + 87.3125, + 87.296875, + 87.34375, + 87.328125, + 87.25, + 87.328125 + ], + "rss_after_mib": 86.65625, + "rss_after_samples_mib": [ + 86.8125, + 86.65625, + 86.65625, + 86.65625, + 86.65625, + 86.609375, + 86.6875 + ], + "rss_before_mib": 66.5, + "rss_before_samples_mib": [ + 66.578125, + 66.5, + 66.40625, + 66.484375, + 66.53125, + 66.5, + 66.53125 + ] + }, + { + "fixture": "wide_1m", + "operation": "retain-stringify", + "iterations": 16, + "engine": "bun", + "repetitions": 7, + "cpu_us": 704.8125, + "cpu_samples_us": [ + 706.8125, + 705.625, + 701.5625, + 704.8125, + 704.9375, + 703.6875, + 704.5625 + ], + "peak_rss_mib": 53.90625, + "peak_rss_samples_mib": [ + 53.890625, + 53.921875, + 53.875, + 53.90625, + 53.921875, + 53.90625, + 53.875 + ], + "rss_after_mib": 53.515625, + "rss_after_samples_mib": [ + 53.5, + 53.53125, + 53.484375, + 53.515625, + 53.53125, + 53.515625, + 53.484375 + ], + "rss_before_mib": 37.28125, + "rss_before_samples_mib": [ + 37.28125, + 37.3125, + 37.265625, + 37.296875, + 37.296875, + 37.28125, + 37.265625 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/verify.jsonl new file mode 100644 index 0000000000..c7d0b9bb0b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/verify.jsonl @@ -0,0 +1,180 @@ +{"wall_ms": 0.004791000000000878, "user_us": 324.0, "system_us": 34.0, "rss_before": 55033856.0, "rss_after": 55508992.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56377344, "instructions": 295141266, "cycles": 103360547, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 0.0004999999999997229, "user_us": 2.0, "system_us": 5.0, "rss_before": 12435456.0, "rss_after": 12533760.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62661132, "cycles": 19327020, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.000500000000000167, "user_us": 3.0, "system_us": 2.0, "rss_before": 12451840.0, "rss_after": 12550144.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62631701, "cycles": 19350432, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.005124999999999602, "user_us": 324.0, "system_us": 37.0, "rss_before": 54870016.0, "rss_after": 55377920.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 295122926, "cycles": 102951527, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0017920000000000158, "user_us": 3.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 138141767, "cycles": 48583873, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0050840000000000884, "user_us": 326.0, "system_us": 37.0, "rss_before": 55033856.0, "rss_after": 55508992.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56393728, "instructions": 288805041, "cycles": 97320592, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-parse", "case_iterations": 200000} +{"wall_ms": 0.000500000000000167, "user_us": 3.0, "system_us": 2.0, "rss_before": 12435456.0, "rss_after": 12533760.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62552404, "cycles": 19435374, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-parse", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.000500000000000167, "user_us": 2.0, "system_us": 4.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62579931, "cycles": 19167898, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-parse", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.004875000000000185, "user_us": 322.0, "system_us": 45.0, "rss_before": 54870016.0, "rss_after": 55361536.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 292746341, "cycles": 100528432, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-parse", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.001583000000000112, "user_us": 3.0, "system_us": 1.0, "rss_before": 29638656.0, "rss_after": 29671424.0, "checksum": 15.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30113792, "instructions": 137201253, "cycles": 47765068, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-parse", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.003208000000000766, "user_us": 324.0, "system_us": 32.0, "rss_before": 54984704.0, "rss_after": 55476224.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 291064221, "cycles": 99392871, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.0004579999999996254, "user_us": 2.0, "system_us": 1.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62540326, "cycles": 19311504, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.000500000000000167, "user_us": 2.0, "system_us": 1.0, "rss_before": 12582912.0, "rss_after": 12599296.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62546351, "cycles": 19203130, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0031250000000007105, "user_us": 323.0, "system_us": 36.0, "rss_before": 54968320.0, "rss_after": 55492608.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 295580550, "cycles": 103374308, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0017920000000000158, "user_us": 3.0, "system_us": 2.0, "rss_before": 29687808.0, "rss_after": 29720576.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137279617, "cycles": 48121286, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0032500000000013074, "user_us": 323.0, "system_us": 34.0, "rss_before": 55017472.0, "rss_after": 55459840.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 287216953, "cycles": 95924480, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 200000} +{"wall_ms": 0.000500000000000167, "user_us": 3.0, "system_us": 2.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62454650, "cycles": 19120232, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.00045800000000006946, "user_us": 2.0, "system_us": 2.0, "rss_before": 12582912.0, "rss_after": 12599296.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62552871, "cycles": 19124948, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.0032090000000000174, "user_us": 324.0, "system_us": 32.0, "rss_before": 55033856.0, "rss_after": 55525376.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 287366839, "cycles": 96084321, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.0019159999999995847, "user_us": 3.0, "system_us": 1.0, "rss_before": 29769728.0, "rss_after": 29802496.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30212096, "instructions": 137776946, "cycles": 48517971, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.005875000000001407, "user_us": 335.0, "system_us": 41.0, "rss_before": 54886400.0, "rss_after": 55410688.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 288983088, "cycles": 97206919, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 0.001000000000000334, "user_us": 2.0, "system_us": 2.0, "rss_before": 12419072.0, "rss_after": 12517376.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62533414, "cycles": 19222896, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0009999999999998899, "user_us": 3.0, "system_us": 1.0, "rss_before": 12435456.0, "rss_after": 12533760.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62488093, "cycles": 19109445, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.006040999999999741, "user_us": 325.0, "system_us": 33.0, "rss_before": 54951936.0, "rss_after": 55459840.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56311808, "instructions": 292024958, "cycles": 99870769, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0033329999999995863, "user_us": 5.0, "system_us": 1.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30162944, "instructions": 137732423, "cycles": 48478198, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.006083000000000283, "user_us": 327.0, "system_us": 37.0, "rss_before": 54968320.0, "rss_after": 55492608.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56377344, "instructions": 292652523, "cycles": 100574705, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-parse", "case_iterations": 100000} +{"wall_ms": 0.0009999999999998899, "user_us": 3.0, "system_us": 2.0, "rss_before": 12419072.0, "rss_after": 12517376.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62634540, "cycles": 19396335, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-parse", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0009999999999998899, "user_us": 3.0, "system_us": 2.0, "rss_before": 12451840.0, "rss_after": 12550144.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 62589469, "cycles": 19285534, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-parse", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.005791999999999575, "user_us": 325.0, "system_us": 35.0, "rss_before": 54853632.0, "rss_after": 55394304.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 290783680, "cycles": 98349754, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-parse", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0033340000000006142, "user_us": 5.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 15.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30130176, "instructions": 137240061, "cycles": 48114650, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-parse", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.003959000000000046, "user_us": 331.0, "system_us": 35.0, "rss_before": 54968320.0, "rss_after": 55508992.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 292417036, "cycles": 100051385, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.0007079999999994868, "user_us": 3.0, "system_us": 2.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62547907, "cycles": 19418080, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0005830000000002222, "user_us": 2.0, "system_us": 2.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62489537, "cycles": 18992776, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0038749999999989626, "user_us": 324.0, "system_us": 35.0, "rss_before": 55033856.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 292261595, "cycles": 100036397, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0023330000000001405, "user_us": 4.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30113792, "instructions": 137117376, "cycles": 48430326, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0038340000000012253, "user_us": 325.0, "system_us": 42.0, "rss_before": 55033856.0, "rss_after": 55492608.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56279040, "instructions": 295948359, "cycles": 104029182, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 100000} +{"wall_ms": 0.000500000000000167, "user_us": 2.0, "system_us": 1.0, "rss_before": 12582912.0, "rss_after": 12599296.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13713408, "instructions": 62653298, "cycles": 19489886, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0005829999999997781, "user_us": 2.0, "system_us": 1.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62478707, "cycles": 19006675, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0038330000000001974, "user_us": 322.0, "system_us": 33.0, "rss_before": 55148544.0, "rss_after": 55607296.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56360960, "instructions": 293266883, "cycles": 100881007, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0024169999999994474, "user_us": 4.0, "system_us": 2.0, "rss_before": 29769728.0, "rss_after": 29802496.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30212096, "instructions": 137923988, "cycles": 48688132, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 20.956709000000004, "user_us": 25566.0, "system_us": 1847.0, "rss_before": 75579392.0, "rss_after": 91504640.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 95961088, "instructions": 1102539121, "cycles": 284151789, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 6.019041999999999, "user_us": 5325.0, "system_us": 701.0, "rss_before": 29835264.0, "rss_after": 40861696.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44941312, "instructions": 285286481, "cycles": 67237983, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 5.903208000000003, "user_us": 5281.0, "system_us": 629.0, "rss_before": 29851648.0, "rss_after": 40878080.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44974080, "instructions": 285205343, "cycles": 66801833, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 21.826, "user_us": 26241.0, "system_us": 1924.0, "rss_before": 75694080.0, "rss_after": 91734016.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 96157696, "instructions": 1104641486, "cycles": 290043676, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 14.840333000000001, "user_us": 14098.0, "system_us": 748.0, "rss_before": 45039616.0, "rss_after": 56983552.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 59408384, "instructions": 774641808, "cycles": 155456175, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 21.481625, "user_us": 26444.0, "system_us": 1946.0, "rss_before": 75661312.0, "rss_after": 91586560.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 96026624, "instructions": 1097598313, "cycles": 285367839, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-parse", "case_iterations": 16} +{"wall_ms": 5.881042000000001, "user_us": 5268.0, "system_us": 619.0, "rss_before": 29835264.0, "rss_after": 40861696.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44941312, "instructions": 285087958, "cycles": 66720413, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 5.871, "user_us": 5292.0, "system_us": 587.0, "rss_before": 29851648.0, "rss_after": 40878080.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 44974080, "instructions": 285156362, "cycles": 66547216, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 21.664333, "user_us": 26409.0, "system_us": 2095.0, "rss_before": 75710464.0, "rss_after": 91570176.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 95993856, "instructions": 1106036651, "cycles": 288964684, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 14.796665999999995, "user_us": 14081.0, "system_us": 726.0, "rss_before": 45039616.0, "rss_after": 56983552.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 59408384, "instructions": 774642381, "cycles": 155279123, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 6.087333000000001, "user_us": 6171.0, "system_us": 501.0, "rss_before": 72531968.0, "rss_after": 79183872.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 81657856, "instructions": 590591328, "cycles": 163877727, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 4.586209, "user_us": 4227.0, "system_us": 365.0, "rss_before": 26214400.0, "rss_after": 32456704.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35307520, "instructions": 293217863, "cycles": 61271467, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.532375, "user_us": 4164.0, "system_us": 373.0, "rss_before": 26247168.0, "rss_after": 32489472.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35356672, "instructions": 293242001, "cycles": 60836184, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.045124999999999, "user_us": 6101.0, "system_us": 472.0, "rss_before": 72384512.0, "rss_after": 79069184.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 81559552, "instructions": 588330447, "cycles": 161258216, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.908042000000002, "user_us": 6545.0, "system_us": 370.0, "rss_before": 42369024.0, "rss_after": 48676864.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 49086464, "instructions": 449348863, "cycles": 104806062, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.074416000000003, "user_us": 6130.0, "system_us": 529.0, "rss_before": 72548352.0, "rss_after": 79183872.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 81657856, "instructions": 591028887, "cycles": 163183412, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-stringify", "case_iterations": 16} +{"wall_ms": 4.654125000000002, "user_us": 4246.0, "system_us": 414.0, "rss_before": 26230784.0, "rss_after": 32473088.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35323904, "instructions": 293495247, "cycles": 62512574, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "perry", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 4.552624999999999, "user_us": 4182.0, "system_us": 377.0, "rss_before": 26247168.0, "rss_after": 32489472.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 35356672, "instructions": 293338615, "cycles": 60865009, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 6.1660840000000015, "user_us": 6252.0, "system_us": 551.0, "rss_before": 72482816.0, "rss_after": 79167488.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 81641472, "instructions": 590985578, "cycles": 163110062, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "node", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 6.935792000000003, "user_us": 6557.0, "system_us": 383.0, "rss_before": 42369024.0, "rss_after": 48676864.0, "checksum": 13214955.0, "retained": 15.0, "fixture": "records_array_1m", "iterations": 7, "warmup": 8, "peak_rss": 49086464, "instructions": 449322003, "cycles": 104970186, "verify_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "engine": "bun", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 20.918875, "user_us": 25720.0, "system_us": 1908.0, "rss_before": 75759616.0, "rss_after": 91586560.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 96010240, "instructions": 1108254838, "cycles": 287726034, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 30.72075, "user_us": 28493.0, "system_us": 2234.0, "rss_before": 27361280.0, "rss_after": 54558720.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 56197120, "instructions": 920362535, "cycles": 174393756, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 31.147792000000003, "user_us": 28863.0, "system_us": 2293.0, "rss_before": 27377664.0, "rss_after": 54575104.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 920487420, "cycles": 176023909, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 20.934167000000002, "user_us": 25624.0, "system_us": 1955.0, "rss_before": 75808768.0, "rss_after": 91734016.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 96157696, "instructions": 1100372439, "cycles": 282465182, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 14.846624999999996, "user_us": 14096.0, "system_us": 760.0, "rss_before": 45039616.0, "rss_after": 56983552.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 59408384, "instructions": 775721574, "cycles": 155650975, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 21.902499999999996, "user_us": 26584.0, "system_us": 1987.0, "rss_before": 75661312.0, "rss_after": 91652096.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 96124928, "instructions": 1102658802, "cycles": 288062882, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-parse", "case_iterations": 16} +{"wall_ms": 30.71975, "user_us": 28742.0, "system_us": 1984.0, "rss_before": 27344896.0, "rss_after": 54558720.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 56197120, "instructions": 920246045, "cycles": 174219442, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 30.702792000000006, "user_us": 28557.0, "system_us": 2153.0, "rss_before": 27377664.0, "rss_after": 54575104.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 920380781, "cycles": 174585054, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 21.040917, "user_us": 25310.0, "system_us": 2009.0, "rss_before": 75628544.0, "rss_after": 91422720.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 95928320, "instructions": 1101772730, "cycles": 280695266, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 15.165665999999998, "user_us": 14449.0, "system_us": 727.0, "rss_before": 45039616.0, "rss_after": 56983552.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 59408384, "instructions": 776230542, "cycles": 158205809, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 6.0696249999999985, "user_us": 6100.0, "system_us": 503.0, "rss_before": 72597504.0, "rss_after": 79298560.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 81723392, "instructions": 589649521, "cycles": 161953991, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 4.537291, "user_us": 4162.0, "system_us": 380.0, "rss_before": 26230784.0, "rss_after": 32473088.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35323904, "instructions": 293272510, "cycles": 60884067, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.572457999999999, "user_us": 4236.0, "system_us": 342.0, "rss_before": 26247168.0, "rss_after": 32489472.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35356672, "instructions": 293183046, "cycles": 61059053, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.137792000000001, "user_us": 6142.0, "system_us": 538.0, "rss_before": 72597504.0, "rss_after": 79298560.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 81756160, "instructions": 589763995, "cycles": 163457705, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.914209, "user_us": 6550.0, "system_us": 373.0, "rss_before": 42369024.0, "rss_after": 48676864.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 49086464, "instructions": 449213570, "cycles": 104612587, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 6.144791999999995, "user_us": 6253.0, "system_us": 487.0, "rss_before": 72548352.0, "rss_after": 79200256.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 81657856, "instructions": 594360612, "cycles": 167368559, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-stringify", "case_iterations": 16} +{"wall_ms": 4.490833, "user_us": 4144.0, "system_us": 352.0, "rss_before": 26230784.0, "rss_after": 32473088.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35323904, "instructions": 293333543, "cycles": 60715756, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "perry", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 4.526209, "user_us": 4172.0, "system_us": 363.0, "rss_before": 26263552.0, "rss_after": 32505856.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 35373056, "instructions": 293349014, "cycles": 61004509, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 6.0674579999999985, "user_us": 6175.0, "system_us": 484.0, "rss_before": 72450048.0, "rss_after": 79118336.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 81592320, "instructions": 587076555, "cycles": 160570464, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "node", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 6.92625, "user_us": 6543.0, "system_us": 391.0, "rss_before": 42385408.0, "rss_after": 48693248.0, "checksum": 13215135.0, "retained": 15.0, "fixture": "records_object_1m", "iterations": 7, "warmup": 8, "peak_rss": 49102848, "instructions": 449212378, "cycles": 104681699, "verify_sha256": "e209e626a0f116ebe4adede1e723398dc747c1271687b3429fd4477ce52cc7b8", "engine": "bun", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 172.351042, "user_us": 363677.0, "system_us": 9866.0, "rss_before": 245481472.0, "rss_after": 301514752.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 329842688, "instructions": 8574024127, "cycles": 2074586319, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 54.683458000000016, "user_us": 48326.0, "system_us": 6367.0, "rss_before": 149192704.0, "rss_after": 233717760.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 262684672, "instructions": 1886965645, "cycles": 462283934, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 54.906709000000006, "user_us": 48260.0, "system_us": 6653.0, "rss_before": 149192704.0, "rss_after": 233717760.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 262701056, "instructions": 1886473036, "cycles": 462153321, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 166.01504100000002, "user_us": 356847.0, "system_us": 9617.0, "rss_before": 245579776.0, "rss_after": 301023232.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 329465856, "instructions": 8591185796, "cycles": 2053414682, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 123.71416699999997, "user_us": 132277.0, "system_us": 6631.0, "rss_before": 150405120.0, "rss_after": 243941376.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 259375104, "instructions": 6558229698, "cycles": 1213931996, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 172.937, "user_us": 372245.0, "system_us": 17432.0, "rss_before": 244711424.0, "rss_after": 353943552.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 382337024, "instructions": 8687233197, "cycles": 2120232803, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-parse", "case_iterations": 4} +{"wall_ms": 54.75108300000002, "user_us": 48164.0, "system_us": 6596.0, "rss_before": 149192704.0, "rss_after": 233717760.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 262684672, "instructions": 1883614925, "cycles": 459273080, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 54.933082999999996, "user_us": 48236.0, "system_us": 6703.0, "rss_before": 149209088.0, "rss_after": 233717760.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 262701056, "instructions": 1883503469, "cycles": 459046067, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 170.488334, "user_us": 364708.0, "system_us": 10054.0, "rss_before": 245661696.0, "rss_after": 301318144.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 329711616, "instructions": 8564300075, "cycles": 2066721419, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 124.27795799999998, "user_us": 141340.0, "system_us": 6543.0, "rss_before": 150175744.0, "rss_after": 244088832.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 259883008, "instructions": 6517255458, "cycles": 1199401057, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 48.37287500000001, "user_us": 45898.0, "system_us": 3130.0, "rss_before": 178798592.0, "rss_after": 228687872.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 243564544, "instructions": 2598293374, "cycles": 568175725, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 35.705083, "user_us": 32801.0, "system_us": 2915.0, "rss_before": 133595136.0, "rss_after": 183156736.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 205520896, "instructions": 2717236842, "cycles": 491515995, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 35.66450000000002, "user_us": 32692.0, "system_us": 2984.0, "rss_before": 133595136.0, "rss_after": 183140352.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 205520896, "instructions": 2717190883, "cycles": 491529558, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 48.375292000000016, "user_us": 45830.0, "system_us": 3173.0, "rss_before": 178946048.0, "rss_after": 228786176.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 243744768, "instructions": 2601557118, "cycles": 568455827, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 55.217291, "user_us": 56034.0, "system_us": 3185.0, "rss_before": 127647744.0, "rss_after": 177176576.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 177586176, "instructions": 2726995666, "cycles": 528030649, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 47.678, "user_us": 45107.0, "system_us": 3249.0, "rss_before": 178765824.0, "rss_after": 228655104.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 243580928, "instructions": 2598251082, "cycles": 567458892, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-stringify", "case_iterations": 4} +{"wall_ms": 35.577667000000005, "user_us": 32720.0, "system_us": 2864.0, "rss_before": 133627904.0, "rss_after": 183173120.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 205553664, "instructions": 2719108903, "cycles": 493266260, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "perry", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 36.01954200000003, "user_us": 32901.0, "system_us": 3126.0, "rss_before": 133644288.0, "rss_after": 183189504.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 205586432, "instructions": 2717158966, "cycles": 493114293, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 47.568292, "user_us": 44987.0, "system_us": 3234.0, "rss_before": 178913280.0, "rss_after": 228835328.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 243695616, "instructions": 2596459364, "cycles": 563299414, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "node", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 55.175250000000005, "user_us": 57237.0, "system_us": 3228.0, "rss_before": 127844352.0, "rss_after": 177373184.0, "checksum": 105883950.0, "retained": 15.0, "fixture": "records_array_8m", "iterations": 7, "warmup": 8, "peak_rss": 177782784, "instructions": 2726413962, "cycles": 530623850, "verify_sha256": "5e7bfd3c974265ae60ef2b62e59a1256feb6e9fd042ccb644b7519d2a187b667", "engine": "bun", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 162.072917, "user_us": 356253.0, "system_us": 9717.0, "rss_before": 245399552.0, "rss_after": 300974080.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 329351168, "instructions": 8581308094, "cycles": 2017922479, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 112.45833300000004, "user_us": 105673.0, "system_us": 6791.0, "rss_before": 138444800.0, "rss_after": 234340352.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271679488, "instructions": 5070805325, "cycles": 923500335, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 112.44104099999996, "user_us": 106149.0, "system_us": 6295.0, "rss_before": 138444800.0, "rss_after": 234356736.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271712256, "instructions": 5070839619, "cycles": 925355640, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 160.156291, "user_us": 378567.0, "system_us": 10806.0, "rss_before": 245383168.0, "rss_after": 314359808.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 342786048, "instructions": 8766974140, "cycles": 2080832177, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 125.22691699999999, "user_us": 144035.0, "system_us": 7138.0, "rss_before": 150667264.0, "rss_after": 244596736.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 260030464, "instructions": 6515407802, "cycles": 1209624889, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 162.351875, "user_us": 357308.0, "system_us": 10085.0, "rss_before": 244711424.0, "rss_after": 299106304.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 327483392, "instructions": 8584071912, "cycles": 2029245012, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-parse", "case_iterations": 4} +{"wall_ms": 112.07554200000001, "user_us": 105709.0, "system_us": 6376.0, "rss_before": 138444800.0, "rss_after": 234356736.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271679488, "instructions": 5071014361, "cycles": 922595599, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 112.46116700000002, "user_us": 106078.0, "system_us": 6394.0, "rss_before": 138461184.0, "rss_after": 234373120.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 271712256, "instructions": 5070845029, "cycles": 925604303, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 156.59308300000004, "user_us": 376822.0, "system_us": 10443.0, "rss_before": 245317632.0, "rss_after": 315064320.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 343441408, "instructions": 8760426629, "cycles": 2060857955, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 140.61762500000003, "user_us": 167121.0, "system_us": 7760.0, "rss_before": 150355968.0, "rss_after": 243580928.0, "checksum": 15.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 259211264, "instructions": 6520199516, "cycles": 1311813743, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "retain-parse", "case_iterations": 4, "correct": true} +{"wall_ms": 47.932749999999984, "user_us": 45176.0, "system_us": 3404.0, "rss_before": 178913280.0, "rss_after": 228753408.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 243662848, "instructions": 2597389132, "cycles": 566973363, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 35.78004100000001, "user_us": 32787.0, "system_us": 3000.0, "rss_before": 133627904.0, "rss_after": 183173120.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 205537280, "instructions": 2718239683, "cycles": 494414700, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 35.799042, "user_us": 32757.0, "system_us": 3048.0, "rss_before": 133611520.0, "rss_after": 183173120.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 205553664, "instructions": 2720449335, "cycles": 493434154, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 48.012167000000005, "user_us": 45332.0, "system_us": 3333.0, "rss_before": 178929664.0, "rss_after": 228835328.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 243744768, "instructions": 2599624690, "cycles": 565328421, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 55.054, "user_us": 56156.0, "system_us": 3181.0, "rss_before": 127500288.0, "rss_after": 177029120.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 177438720, "instructions": 2725316165, "cycles": 530022550, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 47.947959, "user_us": 45499.0, "system_us": 3129.0, "rss_before": 178782208.0, "rss_after": 228704256.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 243712000, "instructions": 2600388780, "cycles": 568059612, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-stringify", "case_iterations": 4} +{"wall_ms": 35.631208, "user_us": 32739.0, "system_us": 2899.0, "rss_before": 133627904.0, "rss_after": 183189504.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 205553664, "instructions": 2722846452, "cycles": 493694136, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "perry", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 36.102791999999994, "user_us": 33045.0, "system_us": 3025.0, "rss_before": 133611520.0, "rss_after": 183173120.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 205553664, "instructions": 2718090818, "cycles": 493968385, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 48.20616600000001, "user_us": 45573.0, "system_us": 3271.0, "rss_before": 178880512.0, "rss_after": 228802560.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 243662848, "instructions": 2610343779, "cycles": 577059745, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "node", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 54.78895800000001, "user_us": 56001.0, "system_us": 3042.0, "rss_before": 127778816.0, "rss_after": 177307648.0, "checksum": 105884130.0, "retained": 15.0, "fixture": "records_object_8m", "iterations": 7, "warmup": 8, "peak_rss": 177717248, "instructions": 2725833366, "cycles": 524557841, "verify_sha256": "2be00b90f1907abdd0ccac76856bdf668eba27a30c8fbc0dc21f646d03c93758", "engine": "bun", "operation": "retain-stringify", "case_iterations": 4, "correct": true} +{"wall_ms": 3.0590420000000016, "user_us": 3064.0, "system_us": 513.0, "rss_before": 67305472.0, "rss_after": 75218944.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 80674816, "instructions": 414971946, "cycles": 129569987, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 0.0030000000000001137, "user_us": 5.0, "system_us": 2.0, "rss_before": 15958016.0, "rss_after": 16056320.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21774336, "instructions": 78293225, "cycles": 24006350, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0031249999999998224, "user_us": 6.0, "system_us": 2.0, "rss_before": 15958016.0, "rss_after": 16056320.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21790720, "instructions": 78395170, "cycles": 24080253, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 3.0730419999999974, "user_us": 3099.0, "system_us": 518.0, "rss_before": 67272704.0, "rss_after": 75202560.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 80642048, "instructions": 408522570, "cycles": 124022536, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.8098330000000011, "user_us": 413.0, "system_us": 400.0, "rss_before": 39436288.0, "rss_after": 46809088.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 48316416, "instructions": 161468388, "cycles": 54827739, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 3.1547920000000005, "user_us": 3084.0, "system_us": 536.0, "rss_before": 67338240.0, "rss_after": 75284480.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 80723968, "instructions": 416647838, "cycles": 131590500, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-parse", "case_iterations": 32} +{"wall_ms": 0.003249999999999975, "user_us": 5.0, "system_us": 1.0, "rss_before": 15958016.0, "rss_after": 16056320.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21774336, "instructions": 78425724, "cycles": 24188554, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 0.0032089999999995733, "user_us": 5.0, "system_us": 4.0, "rss_before": 15958016.0, "rss_after": 16056320.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 21790720, "instructions": 78453039, "cycles": 24305506, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 3.105625, "user_us": 3012.0, "system_us": 541.0, "rss_before": 67321856.0, "rss_after": 75235328.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 80691200, "instructions": 415224834, "cycles": 130513976, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 0.8240839999999992, "user_us": 415.0, "system_us": 413.0, "rss_before": 39403520.0, "rss_after": 46776320.0, "checksum": 15.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 48283648, "instructions": 161156980, "cycles": 54872392, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 1.2252079999999985, "user_us": 1255.0, "system_us": 514.0, "rss_before": 70696960.0, "rss_after": 78675968.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81788928, "instructions": 349351349, "cycles": 122495928, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.575583, "user_us": 161.0, "system_us": 419.0, "rss_before": 26001408.0, "rss_after": 33488896.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37847040, "instructions": 88267536, "cycles": 29138002, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.5695000000000006, "user_us": 156.0, "system_us": 417.0, "rss_before": 26034176.0, "rss_after": 33521664.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37879808, "instructions": 88219894, "cycles": 28072866, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 1.6359999999999992, "user_us": 1701.0, "system_us": 519.0, "rss_before": 70696960.0, "rss_after": 78626816.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81756160, "instructions": 339892787, "cycles": 115839301, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 1.0059170000000002, "user_us": 642.0, "system_us": 371.0, "rss_before": 41549824.0, "rss_after": 48922624.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 49348608, "instructions": 159479686, "cycles": 57512248, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 1.2454159999999987, "user_us": 1254.0, "system_us": 511.0, "rss_before": 70778880.0, "rss_after": 78757888.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81887232, "instructions": 340135368, "cycles": 114576738, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 32} +{"wall_ms": 0.5691669999999993, "user_us": 160.0, "system_us": 413.0, "rss_before": 26017792.0, "rss_after": 33505280.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37847040, "instructions": 88110892, "cycles": 28289781, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 0.6526670000000001, "user_us": 156.0, "system_us": 500.0, "rss_before": 26017792.0, "rss_after": 33505280.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37863424, "instructions": 88268402, "cycles": 29122503, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 1.3022080000000003, "user_us": 1393.0, "system_us": 552.0, "rss_before": 70746112.0, "rss_after": 78643200.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81788928, "instructions": 346894120, "cycles": 121183227, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 1.0981249999999996, "user_us": 676.0, "system_us": 431.0, "rss_before": 41615360.0, "rss_after": 48988160.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 49414144, "instructions": 160059807, "cycles": 60002350, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 3.490874999999999, "user_us": 3564.0, "system_us": 452.0, "rss_before": 67125248.0, "rss_after": 74235904.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78200832, "instructions": 409910825, "cycles": 138195590, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 0.0031250000000002665, "user_us": 5.0, "system_us": 2.0, "rss_before": 15237120.0, "rss_after": 15335424.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20185088, "instructions": 90133748, "cycles": 26648307, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.00316699999999992, "user_us": 5.0, "system_us": 4.0, "rss_before": 15253504.0, "rss_after": 15351808.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20217856, "instructions": 90049998, "cycles": 26469505, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 3.559917000000002, "user_us": 3534.0, "system_us": 485.0, "rss_before": 67158016.0, "rss_after": 74301440.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78266368, "instructions": 406758195, "cycles": 135731531, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 0.7192919999999994, "user_us": 373.0, "system_us": 351.0, "rss_before": 39354368.0, "rss_after": 45957120.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 48414720, "instructions": 206435284, "cycles": 65768013, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 3.6439999999999984, "user_us": 3736.0, "system_us": 469.0, "rss_before": 67158016.0, "rss_after": 74350592.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78315520, "instructions": 406209631, "cycles": 135657278, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-parse", "case_iterations": 32} +{"wall_ms": 0.0030410000000000714, "user_us": 5.0, "system_us": 2.0, "rss_before": 15253504.0, "rss_after": 15351808.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20201472, "instructions": 90336053, "cycles": 26697522, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 0.0032079999999998776, "user_us": 5.0, "system_us": 2.0, "rss_before": 15269888.0, "rss_after": 15368192.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 20234240, "instructions": 90318396, "cycles": 26612107, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 3.585750000000001, "user_us": 3590.0, "system_us": 500.0, "rss_before": 67141632.0, "rss_after": 74235904.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78233600, "instructions": 410328153, "cycles": 138863905, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 0.7251250000000002, "user_us": 372.0, "system_us": 358.0, "rss_before": 39387136.0, "rss_after": 45989888.0, "checksum": 15.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 48463872, "instructions": 208035353, "cycles": 66632058, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-parse", "case_iterations": 32, "correct": true} +{"wall_ms": 3.327207999999999, "user_us": 3412.0, "system_us": 451.0, "rss_before": 70172672.0, "rss_after": 77299712.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 79200256, "instructions": 465392734, "cycles": 132611377, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.47987499999999894, "user_us": 132.0, "system_us": 352.0, "rss_before": 23543808.0, "rss_after": 29769728.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33538048, "instructions": 98157134, "cycles": 30016320, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.4968750000000002, "user_us": 130.0, "system_us": 375.0, "rss_before": 23560192.0, "rss_after": 29786112.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33570816, "instructions": 98403128, "cycles": 30369628, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.3625839999999982, "user_us": 3403.0, "system_us": 478.0, "rss_before": 70189056.0, "rss_after": 77299712.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 79183872, "instructions": 470556771, "cycles": 137074044, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.423833000000002, "user_us": 3082.0, "system_us": 346.0, "rss_before": 42254336.0, "rss_after": 48840704.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49348608, "instructions": 291746323, "cycles": 83611418, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.202625000000001, "user_us": 3270.0, "system_us": 416.0, "rss_before": 70090752.0, "rss_after": 77217792.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 79134720, "instructions": 475929006, "cycles": 139660228, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 32} +{"wall_ms": 0.5106669999999998, "user_us": 132.0, "system_us": 381.0, "rss_before": 23543808.0, "rss_after": 29769728.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33538048, "instructions": 98315291, "cycles": 30204784, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 0.4742500000000005, "user_us": 130.0, "system_us": 348.0, "rss_before": 23543808.0, "rss_after": 29769728.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33554432, "instructions": 98247523, "cycles": 29655630, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 3.3384590000000003, "user_us": 3372.0, "system_us": 437.0, "rss_before": 70107136.0, "rss_after": 77250560.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 79183872, "instructions": 466614808, "cycles": 132373087, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 3.4529159999999983, "user_us": 3078.0, "system_us": 379.0, "rss_before": 42254336.0, "rss_after": 48840704.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49348608, "instructions": 291858166, "cycles": 82931197, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 36.53958299999999, "user_us": 36186.0, "system_us": 1589.0, "rss_before": 92176384.0, "rss_after": 114786304.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 119472128, "instructions": 1437190384, "cycles": 402135545, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-parse", "case_iterations": 1} +{"wall_ms": 16.63075, "user_us": 15329.0, "system_us": 1308.0, "rss_before": 58163200.0, "rss_after": 77889536.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94928896, "instructions": 1215227632, "cycles": 255247808, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 16.618500000000004, "user_us": 15414.0, "system_us": 1211.0, "rss_before": 58195968.0, "rss_after": 77905920.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94961664, "instructions": 1215308988, "cycles": 254811803, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 36.668584, "user_us": 36249.0, "system_us": 1630.0, "rss_before": 92160000.0, "rss_after": 114753536.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 119472128, "instructions": 1435039232, "cycles": 401007894, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 30.006041000000003, "user_us": 29434.0, "system_us": 1141.0, "rss_before": 54935552.0, "rss_after": 70451200.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 72450048, "instructions": 1181195829, "cycles": 259960567, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "retain-parse", "case_iterations": 1, "correct": true} +{"wall_ms": 36.283457999999996, "user_us": 35937.0, "system_us": 1545.0, "rss_before": 92258304.0, "rss_after": 114851840.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 119521280, "instructions": 1440542891, "cycles": 404783357, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-parse", "case_iterations": 16} +{"wall_ms": 16.727624999999996, "user_us": 15448.0, "system_us": 1286.0, "rss_before": 58179584.0, "rss_after": 77889536.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94928896, "instructions": 1215535827, "cycles": 255399340, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 16.595833, "user_us": 15369.0, "system_us": 1234.0, "rss_before": 58195968.0, "rss_after": 77905920.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 94961664, "instructions": 1215230973, "cycles": 255362530, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 36.763792, "user_us": 36407.0, "system_us": 1591.0, "rss_before": 92241920.0, "rss_after": 114835456.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 119504896, "instructions": 1426773044, "cycles": 394918666, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 30.078666, "user_us": 29375.0, "system_us": 1284.0, "rss_before": 54951936.0, "rss_after": 70483968.0, "checksum": 15.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 72482816, "instructions": 1179577281, "cycles": 259827599, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "retain-parse", "case_iterations": 16, "correct": true} +{"wall_ms": 44.95541700000001, "user_us": 44773.0, "system_us": 826.0, "rss_before": 80740352.0, "rss_after": 89735168.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 92438528, "instructions": 1239478897, "cycles": 442068400, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 4.475332999999999, "user_us": 4086.0, "system_us": 394.0, "rss_before": 30818304.0, "rss_after": 36749312.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40796160, "instructions": 334906518, "cycles": 70664114, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.449542000000001, "user_us": 4093.0, "system_us": 362.0, "rss_before": 30851072.0, "rss_after": 36782080.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40845312, "instructions": 334804483, "cycles": 70165145, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 44.46220799999999, "user_us": 44344.0, "system_us": 812.0, "rss_before": 80822272.0, "rss_after": 89833472.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 92553216, "instructions": 1241188704, "cycles": 436923982, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.882166999999999, "user_us": 4500.0, "system_us": 391.0, "rss_before": 48103424.0, "rss_after": 55099392.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 55508992, "instructions": 433810219, "cycles": 101832781, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 45.26545900000001, "user_us": 45216.0, "system_us": 751.0, "rss_before": 80625664.0, "rss_after": 89702400.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 92454912, "instructions": 1234071991, "cycles": 441314375, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-stringify", "case_iterations": 16} +{"wall_ms": 4.458249999999998, "user_us": 4095.0, "system_us": 370.0, "rss_before": 30818304.0, "rss_after": 36749312.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40812544, "instructions": 334559484, "cycles": 69824361, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "perry", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 4.427875, "user_us": 4086.0, "system_us": 347.0, "rss_before": 30851072.0, "rss_after": 36782080.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 40845312, "instructions": 334598664, "cycles": 69815562, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 44.84804200000001, "user_us": 44705.0, "system_us": 828.0, "rss_before": 80756736.0, "rss_after": 89817088.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 92487680, "instructions": 1237068584, "cycles": 439573023, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "node", "operation": "retain-stringify", "case_iterations": 16, "correct": true} +{"wall_ms": 4.927457999999998, "user_us": 4503.0, "system_us": 434.0, "rss_before": 48136192.0, "rss_after": 55132160.0, "checksum": 14666715.0, "retained": 15.0, "fixture": "wide_1m", "iterations": 7, "warmup": 8, "peak_rss": 55541760, "instructions": 433768030, "cycles": 101766596, "verify_sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", "engine": "bun", "operation": "retain-stringify", "case_iterations": 16, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/window.json new file mode 100644 index 0000000000..cf15858f0e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/window.json @@ -0,0 +1,32 @@ +{ + "owner": "json-perf-9493-1789116378", + "load_before": [ + 1.49072265625, + 1.84130859375, + 1.7587890625 + ], + "started_utc": "2026-09-11T08:46:18Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-retained.py", + "--worker", + ".work/zero-spacing-r25/candidate-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-retained" + ], + "competing_workloads_before": [], + "load_after": [ + 1.8466796875, + 1.8818359375, + 1.7763671875 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:47:18Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/calibration.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/calibration.jsonl new file mode 100644 index 0000000000..369e620a33 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/calibration.jsonl @@ -0,0 +1,60 @@ +{"exit_code": 0, "process_wall_s": 0.012298332999999939, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.9469579999999995, "user_us": 930.0, "system_us": 20.0, "rss_before": 13467648.0, "rss_after": 13942784.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 15007744, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04526516600000008, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.8852909999999987, "user_us": 1568.0, "system_us": 112.0, "rss_before": 60588032.0, "rss_after": 62095360.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 62734336, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.021318125000000077, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.5219579999999997, "user_us": 503.0, "system_us": 22.0, "rss_before": 30834688.0, "rss_after": 31260672.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 31670272, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.012651500000000038, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.949166, "user_us": 929.0, "system_us": 24.0, "rss_before": 13467648.0, "rss_after": 13942784.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 15007744, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009965292000000403, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.18841600000000058, "user_us": 180.0, "system_us": 14.0, "rss_before": 13008896.0, "rss_after": 13303808.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 14368768, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04775737499999977, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.8692080000000004, "user_us": 1484.0, "system_us": 109.0, "rss_before": 60293120.0, "rss_after": 61718528.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 62390272, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.021271291999999775, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.5113339999999997, "user_us": 491.0, "system_us": 23.0, "rss_before": 30834688.0, "rss_after": 31260672.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 31670272, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009953458000000026, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.18916600000000017, "user_us": 179.0, "system_us": 15.0, "rss_before": 13041664.0, "rss_after": 13336576.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 14401536, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.00970216600000029, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.01895800000000003, "user_us": 20.0, "system_us": 1.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 13418496, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.044350584000000026, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.007540999999999798, "user_us": 467.0, "system_us": 50.0, "rss_before": 54820864.0, "rss_after": 55574528.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 56377344, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01949762499999963, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.020332999999999046, "user_us": 22.0, "system_us": 2.0, "rss_before": 29802496.0, "rss_after": 29835264.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 30228480, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009282000000002455, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.01895900000000017, "user_us": 24.0, "system_us": 0.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 13451264, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027382082999999113, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.852875000000001, "user_us": 6168.0, "system_us": 692.0, "rss_before": 36945920.0, "rss_after": 49987584.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 51068928, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.09434375000000017, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 22.424124999999997, "user_us": 23750.0, "system_us": 483.0, "rss_before": 78118912.0, "rss_after": 82247680.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 82984960, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.05562450000000041, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 16.851459000000002, "user_us": 16084.0, "system_us": 778.0, "rss_before": 51314688.0, "rss_after": 64962560.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 65372160, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.027112374999997968, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.934042000000003, "user_us": 6164.0, "system_us": 774.0, "rss_before": 36962304.0, "rss_after": 50003968.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 51085312, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02679462500000085, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 6.845708999999999, "user_us": 6163.0, "system_us": 687.0, "rss_before": 36945920.0, "rss_after": 49987584.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 51068928, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.09419808399999852, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 22.824458, "user_us": 24238.0, "system_us": 455.0, "rss_before": 78102528.0, "rss_after": 82329600.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 83017728, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.055946042000002194, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 16.985958, "user_us": 16089.0, "system_us": 906.0, "rss_before": 51331072.0, "rss_after": 64978944.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 65388544, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02704783300000102, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 6.831458, "user_us": 6165.0, "system_us": 674.0, "rss_before": 36945920.0, "rss_after": 50003968.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 51085312, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.012584749999994926, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.024957999999999814, "user_us": 28.0, "system_us": 2.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1784302776.0, "retained": 0.0, "peak_rss": 23674880, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0478471250000041, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.059874999999998124, "user_us": 490.0, "system_us": 41.0, "rss_before": 65028096.0, "rss_after": 65437696.0, "checksum": 1784302776.0, "retained": 0.0, "peak_rss": 66142208, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.021322832999999264, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.19454200000000021, "user_us": 271.0, "system_us": 37.0, "rss_before": 37060608.0, "rss_after": 37306368.0, "checksum": 1784302776.0, "retained": 0.0, "peak_rss": 37699584, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.012650749999998823, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.02474999999999916, "user_us": 27.0, "system_us": 2.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1784302776.0, "retained": 0.0, "peak_rss": 23691264, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.01631037500000332, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.1635839999999993, "user_us": 716.0, "system_us": 452.0, "rss_before": 31997952.0, "rss_after": 40615936.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 41664512, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.054436542000004806, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.2610419999999998, "user_us": 3573.0, "system_us": 306.0, "rss_before": 72777728.0, "rss_after": 76431360.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 77430784, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.023270500000002414, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.941082999999999, "user_us": 489.0, "system_us": 459.0, "rss_before": 46891008.0, "rss_after": 55312384.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 55721984, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.015830958000002227, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.1732079999999998, "user_us": 728.0, "system_us": 449.0, "rss_before": 32014336.0, "rss_after": 40632320.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 41680896, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.013486917000001597, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0037089999999997403, "user_us": 6.0, "system_us": 1.0, "rss_before": 24510464.0, "rss_after": 24592384.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 25640960, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.055864250000006166, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 3.2738750000000003, "user_us": 3526.0, "system_us": 296.0, "rss_before": 72695808.0, "rss_after": 76398592.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 77414400, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02330620800000105, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.953875, "user_us": 479.0, "system_us": 485.0, "rss_before": 46825472.0, "rss_after": 55246848.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 55656448, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.013494958999999085, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0035840000000000316, "user_us": 6.0, "system_us": 2.0, "rss_before": 24543232.0, "rss_after": 24625152.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 25673728, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.013456542000000127, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.025166999999999717, "user_us": 28.0, "system_us": 2.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2105576752.0, "retained": 0.0, "peak_rss": 25493504, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.048133333000002665, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.06245799999999946, "user_us": 443.0, "system_us": 52.0, "rss_before": 65241088.0, "rss_after": 65716224.0, "checksum": 2105576752.0, "retained": 0.0, "peak_rss": 66813952, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02157208300000235, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.18950000000000067, "user_us": 271.0, "system_us": 27.0, "rss_before": 38436864.0, "rss_after": 38682624.0, "checksum": 2105576752.0, "retained": 0.0, "peak_rss": 39075840, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.0133492920000009, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.024834000000000245, "user_us": 27.0, "system_us": 1.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2105576752.0, "retained": 0.0, "peak_rss": 25509888, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.028839249999990102, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 7.5337080000000025, "user_us": 7185.0, "system_us": 357.0, "rss_before": 30785536.0, "rss_after": 37224448.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 38289408, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.07689179199999785, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 14.071542, "user_us": 14197.0, "system_us": 424.0, "rss_before": 69910528.0, "rss_after": 75022336.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 75726848, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.055119583000006855, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 16.755458000000004, "user_us": 16399.0, "system_us": 367.0, "rss_before": 46071808.0, "rss_after": 52314112.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 52723712, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.028420959000001744, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 7.516708000000001, "user_us": 7178.0, "system_us": 346.0, "rss_before": 30801920.0, "rss_after": 37240832.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 38305792, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.028245458000000667, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 7.479292000000001, "user_us": 7142.0, "system_us": 342.0, "rss_before": 30785536.0, "rss_after": 37224448.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 38289408, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.07537500000000819, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 14.066292000000004, "user_us": 14172.0, "system_us": 384.0, "rss_before": 69828608.0, "rss_after": 74924032.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 75661312, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.0549597910000017, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 16.747625000000003, "user_us": 16381.0, "system_us": 372.0, "rss_before": 46071808.0, "rss_after": 52314112.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 52723712, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.028184374999995043, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 7.499374999999999, "user_us": 7146.0, "system_us": 358.0, "rss_before": 30801920.0, "rss_after": 37240832.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 38305792, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.013152249999990318, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.024708000000000396, "user_us": 27.0, "system_us": 2.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1987956144.0, "retained": 0.0, "peak_rss": 24657920, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.04665420800000675, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.05879099999999937, "user_us": 455.0, "system_us": 41.0, "rss_before": 65748992.0, "rss_after": 66142208.0, "checksum": 1987956144.0, "retained": 0.0, "peak_rss": 66830336, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.021564584000003606, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.18733300000000064, "user_us": 269.0, "system_us": 29.0, "rss_before": 37847040.0, "rss_after": 38092800.0, "checksum": 1987956144.0, "retained": 0.0, "peak_rss": 38486016, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.013018999999999892, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.02549999999999919, "user_us": 28.0, "system_us": 1.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1987956144.0, "retained": 0.0, "peak_rss": 24657920, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.016015959000000635, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.4594159999999992, "user_us": 1071.0, "system_us": 393.0, "rss_before": 28753920.0, "rss_after": 35045376.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 36093952, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.06097162499999342, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.901207999999997, "user_us": 4080.0, "system_us": 395.0, "rss_before": 71925760.0, "rss_after": 75235328.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 75939840, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.028337500000006344, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.8659579999999991, "user_us": 444.0, "system_us": 431.0, "rss_before": 46858240.0, "rss_after": 54394880.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 54804480, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.01519637500000215, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.476375, "user_us": 1074.0, "system_us": 410.0, "rss_before": 28770304.0, "rss_after": 35061760.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 36110336, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.01208566600000438, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0037919999999997955, "user_us": 6.0, "system_us": 1.0, "rss_before": 22544384.0, "rss_after": 22626304.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 23674880, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05928654199999528, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 3.785874999999997, "user_us": 4020.0, "system_us": 323.0, "rss_before": 71827456.0, "rss_after": 75153408.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 75907072, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.027796166000001676, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.8319580000000002, "user_us": 425.0, "system_us": 417.0, "rss_before": 46891008.0, "rss_after": 54411264.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 54820864, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.012153375000011124, "iterations": 8, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0034169999999997813, "user_us": 6.0, "system_us": 2.0, "rss_before": 22560768.0, "rss_after": 22642688.0, "checksum": 16.0, "retained": 0.0, "peak_rss": 23691264, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.011923166000002539, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.025624999999999787, "user_us": 28.0, "system_us": 1.0, "rss_before": 22298624.0, "rss_after": 22380544.0, "checksum": 939780144.0, "retained": 0.0, "peak_rss": 23494656, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0528516250000024, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.05824999999999747, "user_us": 491.0, "system_us": 47.0, "rss_before": 66027520.0, "rss_after": 66420736.0, "checksum": 939780144.0, "retained": 0.0, "peak_rss": 67141632, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.026289832999992768, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.18108399999999847, "user_us": 258.0, "system_us": 30.0, "rss_before": 39321600.0, "rss_after": 39567360.0, "checksum": 939780144.0, "retained": 0.0, "peak_rss": 39960576, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.011932082999990712, "iterations": 2000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.02554199999999973, "user_us": 28.0, "system_us": 5.0, "rss_before": 22331392.0, "rss_after": 22413312.0, "checksum": 939780144.0, "retained": 0.0, "peak_rss": 23527424, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller.log new file mode 100644 index 0000000000..07e4dceaf6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller.log @@ -0,0 +1,30 @@ +VERIFY small_record rotating all engines passed +VERIFY small_record same all engines passed +VERIFY small_record select all engines passed +TIMING small_record rotating 571428 calls per engine +TIMING small_record same 1546391 calls per engine +TIMING small_record select 2000000 calls per engine +VERIFY records_array_1m rotating all engines passed +VERIFY records_array_1m same all engines passed +VERIFY records_array_1m select all engines passed +TIMING records_array_1m rotating 174 calls per engine +TIMING records_array_1m same 175 calls per engine +TIMING records_array_1m select 2000000 calls per engine +VERIFY long_string_1m rotating all engines passed +VERIFY long_string_1m same all engines passed +VERIFY long_string_1m select all engines passed +TIMING long_string_1m rotating 1265 calls per engine +TIMING long_string_1m same 3139 calls per engine +TIMING long_string_1m select 2000000 calls per engine +VERIFY escaped_1m rotating all engines passed +VERIFY escaped_1m same all engines passed +VERIFY escaped_1m select all engines passed +TIMING escaped_1m rotating 159 calls per engine +TIMING escaped_1m same 160 calls per engine +TIMING escaped_1m select 2000000 calls per engine +VERIFY unicode_1m rotating all engines passed +VERIFY unicode_1m same all engines passed +VERIFY unicode_1m select all engines passed +TIMING unicode_1m rotating 1371 calls per engine +TIMING unicode_1m same 2763 calls per engine +TIMING unicode_1m select 2000000 calls per engine diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/host.json new file mode 100644 index 0000000000..fb1fd887f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/host.json @@ -0,0 +1,125 @@ +{ + "started_utc": "2026-09-11T08:47:33Z", + "load_before": [ + 1.646484375, + 1.83740234375, + 1.76171875 + ], + "host": "perry-macos.fritz.box", + "cpu": "Apple M1", + "memory": 8589934592, + "worker_sha256": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "fixtures": [ + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + } + ], + "baseline_worker_sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "engines": [ + "perry", + "node", + "bun", + "baseline" + ], + "verification_counts_by_mode": { + "rotating": [ + 2, + 7, + 9 + ], + "same": [ + 9 + ], + "select": [ + 9 + ] + }, + "source_sha256": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + "commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "versions": { + "node": "v26.5.1", + "bun": "1.3.14" + }, + "load_after": [ + 1.83642578125, + 1.86328125, + 1.7763671875 + ], + "finished_utc": "2026-09-11T08:49:16Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/measure-supplement.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/measure-supplement.py new file mode 100644 index 0000000000..24b74aed95 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/measure-supplement.py @@ -0,0 +1,43 @@ +from pathlib import Path +import argparse, json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +p = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +parser = argparse.ArgumentParser() +parser.add_argument('phase', choices=['access', 'focus', 'options', 'rotating', 'retained']) +kind = parser.parse_args().phase +worker = {'access': 'access-worker', 'rotating': 'rotating-worker', 'options': 'options'}.get(kind, 'worker') +cmd = ['python3', p + 'run-' + kind + '.py', '--worker', p + 'candidate-' + worker, + '--baseline-worker', p + 'main-' + worker, '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +if kind == 'focus': + cases = ['records_array_16k:scan:4000:8:7', 'records_array_1m:scan:200:2:7', + 'records_array_8m:scan:32:1:7', 'records_array_20m:scan:16:1:7', + 'records_array_20m:roundtrip:8:1:7', 'records_array_1m:parse:200:8:7', + 'records_array_1m:stringify:256:8:7', 'small_record:parse:2000000:5000:7', + 'small_record:stringify:10000000:5000:7', 'long_string_1m:stringify:4096:8:7', + 'null:stringify:20000000:5000:7', 'string_a:stringify:20000000:5000:7', + 'empty_object:stringify:10000000:5000:7', 'tiny_object:stringify:10000000:5000:7', + 'object_1k:stringify:2000000:5000:7'] + for case in cases: + cmd += ['--case', case] +elif kind == 'rotating': + cmd += ['--filter', 'unicode_1m,long_string_1m,escaped_1m,small_record,records_array_1m', + '--repeat', '7', '--source-commit', json.loads((w / 'provenance.json').read_text())['source_commit']] +slug = 'quiet-' + w.name + '-' + kind +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +command_file = w / ('remote-' + kind + '-command.json') +log_file = w / ('remote-' + kind + '.log') +command_file.write_text(json.dumps(invocation, indent=2) + '\n') +with log_file.open('wb') as log: + result = subprocess.run(['ssh', 'perry@perry-macos.local', 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], + stdout=log, stderr=subprocess.STDOUT) +print(log_file.read_text(), flush=True) +# Preserve every terminal window before any other remote operation, including failures. +subprocess.run(['python3', str(w / 'archive-results.py'), slug, kind, '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for source in [command_file, log_file, w / 'remote-stage-hashes.json', Path(__file__)]: + shutil.copy2(source, d / source.name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-after.txt new file mode 100644 index 0000000000..835caa2fa1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-after.txt @@ -0,0 +1,570 @@ + PID %CPU COMM + 1 0.3 /sbin/launchd + 94 0.4 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.2 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.4 /usr/sbin/bluetoothd + 161 0.3 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 7.5 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 1.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 4.3 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.4 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.7 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.3 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.4 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +11899 0.0 sshd-session: perry [priv] +11900 0.0 +11902 0.0 sshd-session: perry@notty +11903 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python +12133 0.0 /usr/libexec/tipsd +12810 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +12811 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +12812 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +13075 0.0 ps +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 11.2 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.2 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-before.txt new file mode 100644 index 0000000000..1690eb09e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-before.txt @@ -0,0 +1,575 @@ + PID %CPU COMM + 1 1.1 /sbin/launchd + 94 0.6 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.4 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.4 /usr/sbin/bluetoothd + 161 0.9 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.4 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.9 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +10676 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10677 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10678 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10679 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10680 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10685 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10686 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +10687 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd +11899 10.4 sshd-session: perry [priv] +11900 0.0 +11902 0.2 sshd-session: perry@notty +11903 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python +11904 0.0 ps +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 9.8 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.0 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating-command.json new file mode 100644 index 0000000000..b3fe06c477 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating-command.json @@ -0,0 +1,23 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-rotating.py", + "--worker", + ".work/zero-spacing-r25/candidate-rotating-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-rotating-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--filter", + "unicode_1m,long_string_1m,escaped_1m,small_record,records_array_1m", + "--repeat", + "7", + "--source-commit", + "01f2878dad8efc92e394c49b88fe0800b871f593", + "--results-dir", + "results/quiet-zero-spacing-r25-rotating" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating.log new file mode 100644 index 0000000000..d8f950602e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-11903-1789116453 load (1.646484375, 1.83740234375, 1.76171875) +FINISHED custom load (1.83642578125, 1.86328125, 1.7763671875) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/timing.jsonl new file mode 100644 index 0000000000..43f7b955e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/timing.jsonl @@ -0,0 +1,420 @@ +{"exit_code": 0, "process_wall_s": 0.2960797919999998, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 284.00291699999997, "user_us": 281218.0, "system_us": 2783.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23249095899999972, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 184.969417, "user_us": 185503.0, "system_us": 730.0, "rss_before": 60194816.0, "rss_after": 62259200.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62881792, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16185733299999994, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.237917, "user_us": 142394.0, "system_us": 3695.0, "rss_before": 30867456.0, "rss_after": 83673088.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84082688, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29496075, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.322958, "user_us": 280072.0, "system_us": 2260.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29543849999999994, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.664, "user_us": 280547.0, "system_us": 2125.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24791133400000032, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 200.24308299999998, "user_us": 200669.0, "system_us": 845.0, "rss_before": 60325888.0, "rss_after": 62144512.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62816256, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29468054099999996, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.02154199999995, "user_us": 280311.0, "system_us": 1717.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16229220899999985, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.728458, "user_us": 142985.0, "system_us": 3527.0, "rss_before": 30834688.0, "rss_after": 83623936.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84033536, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16137845800000017, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.940459, "user_us": 142064.0, "system_us": 3784.0, "rss_before": 30834688.0, "rss_after": 83656704.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84066304, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29495550000000037, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.437125, "user_us": 280383.0, "system_us": 2051.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2328755840000003, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 185.927209, "user_us": 186418.0, "system_us": 725.0, "rss_before": 60145664.0, "rss_after": 62177280.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62799872, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2954536250000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.672584, "user_us": 280970.0, "system_us": 1710.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29538962499999943, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.76641700000005, "user_us": 281048.0, "system_us": 1726.0, "rss_before": 13451264.0, "rss_after": 33046528.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33505280, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2946344999999999, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.92525000000006, "user_us": 280222.0, "system_us": 1704.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16157349999999937, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.699, "user_us": 141901.0, "system_us": 3632.0, "rss_before": 30818304.0, "rss_after": 83640320.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84049920, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2618175410000001, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 212.39175, "user_us": 212775.0, "system_us": 751.0, "rss_before": 60751872.0, "rss_after": 62160896.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62750720, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16160229100000034, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.783125, "user_us": 142003.0, "system_us": 3669.0, "rss_before": 30867456.0, "rss_after": 83689472.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84099072, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2952566670000003, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.757209, "user_us": 280921.0, "system_us": 1842.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29527400000000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.178959, "user_us": 280372.0, "system_us": 1809.0, "rss_before": 13467648.0, "rss_after": 33112064.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33570816, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23922320900000038, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 191.980458, "user_us": 192400.0, "system_us": 813.0, "rss_before": 60342272.0, "rss_after": 62308352.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62980096, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16217179100000045, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.400708, "user_us": 142492.0, "system_us": 3695.0, "rss_before": 30834688.0, "rss_after": 83656704.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84066304, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23688908300000033, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 187.727042, "user_us": 188023.0, "system_us": 920.0, "rss_before": 60260352.0, "rss_after": 62177280.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62783488, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2967751249999999, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 283.822958, "user_us": 282088.0, "system_us": 1742.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2945239580000001, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.640541, "user_us": 279980.0, "system_us": 1664.0, "rss_before": 13484032.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29523862499999964, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.466042, "user_us": 280665.0, "system_us": 1796.0, "rss_before": 13484032.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23782745799999994, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 190.297708, "user_us": 190591.0, "system_us": 946.0, "rss_before": 60293120.0, "rss_after": 62095360.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62734336, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.295401, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.57966700000003, "user_us": 280856.0, "system_us": 1727.0, "rss_before": 13451264.0, "rss_after": 33046528.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33505280, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16142074999999956, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.497541, "user_us": 141773.0, "system_us": 3555.0, "rss_before": 30867456.0, "rss_after": 83689472.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84099072, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16479550000000032, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.237, "user_us": 149302.0, "system_us": 3941.0, "rss_before": 13025280.0, "rss_after": 79069184.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79691776, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.3977467499999996, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 376.307791, "user_us": 377154.0, "system_us": 4730.0, "rss_before": 30834688.0, "rss_after": 83361792.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83771392, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.165251833000001, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.485417, "user_us": 149322.0, "system_us": 4162.0, "rss_before": 13025280.0, "rss_after": 79036416.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79659008, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5773831250000008, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 530.2040000000001, "user_us": 529678.0, "system_us": 2111.0, "rss_before": 60309504.0, "rss_after": 61816832.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62423040, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1648037079999991, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.04500000000002, "user_us": 149051.0, "system_us": 4000.0, "rss_before": 13025280.0, "rss_after": 79069184.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79691776, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16488066700000026, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.0325, "user_us": 148931.0, "system_us": 4108.0, "rss_before": 13008896.0, "rss_after": 79020032.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79642624, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.39489087499999975, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 373.480208, "user_us": 374508.0, "system_us": 4524.0, "rss_before": 30867456.0, "rss_after": 83329024.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83738624, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5422308329999996, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 494.358375, "user_us": 494020.0, "system_us": 1964.0, "rss_before": 60096512.0, "rss_after": 61931520.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62554112, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.577422541999999, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 528.335375, "user_us": 527927.0, "system_us": 1990.0, "rss_before": 60227584.0, "rss_after": 61767680.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62390272, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.39853062499999936, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 376.51041699999996, "user_us": 377309.0, "system_us": 4639.0, "rss_before": 30851072.0, "rss_after": 83312640.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83722240, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16481412499999948, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.14845800000003, "user_us": 149106.0, "system_us": 4045.0, "rss_before": 13025280.0, "rss_after": 79020032.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79642624, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16513549999999988, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.263166, "user_us": 148964.0, "system_us": 4305.0, "rss_before": 13025280.0, "rss_after": 79036416.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79659008, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16480533400000041, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.233417, "user_us": 149198.0, "system_us": 4031.0, "rss_before": 13025280.0, "rss_after": 79069184.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79691776, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16456937499999924, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 152.931542, "user_us": 148960.0, "system_us": 3978.0, "rss_before": 13025280.0, "rss_after": 79069184.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79691776, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.3995929999999994, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 378.167042, "user_us": 378909.0, "system_us": 4756.0, "rss_before": 30867456.0, "rss_after": 83345408.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83755008, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5588866249999995, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 510.78854199999995, "user_us": 510317.0, "system_us": 2087.0, "rss_before": 60243968.0, "rss_after": 61833216.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62455808, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16550591699999906, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.497292, "user_us": 149103.0, "system_us": 4398.0, "rss_before": 13008896.0, "rss_after": 79020032.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79642624, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6439730829999988, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 592.560958, "user_us": 591995.0, "system_us": 2125.0, "rss_before": 60375040.0, "rss_after": 61784064.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62439424, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1650457499999991, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.16012500000002, "user_us": 149207.0, "system_us": 3959.0, "rss_before": 13041664.0, "rss_after": 79052800.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79675392, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.395683, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 374.09370800000005, "user_us": 374903.0, "system_us": 4653.0, "rss_before": 30867456.0, "rss_after": 83345408.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83755008, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6162035409999991, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 570.581084, "user_us": 570118.0, "system_us": 2004.0, "rss_before": 60424192.0, "rss_after": 61849600.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62455808, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1650630409999998, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.017833, "user_us": 148899.0, "system_us": 4123.0, "rss_before": 13008896.0, "rss_after": 79020032.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79642624, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16435070800000062, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 152.829208, "user_us": 148937.0, "system_us": 3895.0, "rss_before": 13025280.0, "rss_after": 79069184.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79691776, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.3959447919999981, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 374.49395799999996, "user_us": 375166.0, "system_us": 4832.0, "rss_before": 30834688.0, "rss_after": 83312640.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83722240, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1652709169999973, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.23000000000002, "user_us": 149018.0, "system_us": 4218.0, "rss_before": 13008896.0, "rss_after": 79020032.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79642624, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5818765419999998, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 535.3089170000001, "user_us": 534516.0, "system_us": 2394.0, "rss_before": 60260352.0, "rss_after": 61849600.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 62504960, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1653427499999971, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 153.38750000000002, "user_us": 149165.0, "system_us": 4226.0, "rss_before": 13025280.0, "rss_after": 79036416.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 79659008, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.3948582079999987, "iterations": 1546391, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 373.44545899999997, "user_us": 374442.0, "system_us": 4523.0, "rss_before": 30867456.0, "rss_after": 83361792.0, "checksum": 1551391.0, "retained": 0.0, "peak_rss": 83771392, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02795958300000123, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.869041, "user_us": 18835.0, "system_us": 35.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027784083000000237, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.83525, "user_us": 18829.0, "system_us": 9.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04753204100000019, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.809958, "user_us": 5056.0, "system_us": 259.0, "rss_before": 54951936.0, "rss_after": 60030976.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60735488, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023659916999999808, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.019957999999999, "user_us": 6832.0, "system_us": 390.0, "rss_before": 29786112.0, "rss_after": 36552704.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36962304, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04765679100000142, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8062500000000004, "user_us": 5069.0, "system_us": 249.0, "rss_before": 54870016.0, "rss_after": 59883520.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60588032, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023730791999998502, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.057584, "user_us": 6869.0, "system_us": 418.0, "rss_before": 29818880.0, "rss_after": 36585472.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36995072, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02818304200000199, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.885042, "user_us": 18836.0, "system_us": 51.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02785162500000027, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.855290999999998, "user_us": 18828.0, "system_us": 30.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027786791000000477, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.857916, "user_us": 18830.0, "system_us": 29.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02340866700000177, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.034542, "user_us": 6848.0, "system_us": 396.0, "rss_before": 29851648.0, "rss_after": 36618240.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37027840, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04758712500000328, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.813834, "user_us": 5060.0, "system_us": 260.0, "rss_before": 54804480.0, "rss_after": 59867136.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60653568, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02808820799999978, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.872458, "user_us": 18865.0, "system_us": 10.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.045684666999999735, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8103750000000005, "user_us": 5053.0, "system_us": 261.0, "rss_before": 54853632.0, "rss_after": 59899904.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60669952, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023574624999998406, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.044416999999999, "user_us": 6867.0, "system_us": 405.0, "rss_before": 29786112.0, "rss_after": 36552704.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36962304, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028130499999999614, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.867792, "user_us": 18861.0, "system_us": 12.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028020791999999517, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 19.010666, "user_us": 18983.0, "system_us": 30.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04855654099999995, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.816666999999999, "user_us": 5060.0, "system_us": 257.0, "rss_before": 54935552.0, "rss_after": 59965440.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60702720, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028155832999999575, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.907417, "user_us": 18862.0, "system_us": 47.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02786920799999848, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.856707999999998, "user_us": 18830.0, "system_us": 30.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02330708299999884, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.007792, "user_us": 6830.0, "system_us": 360.0, "rss_before": 29917184.0, "rss_after": 36683776.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37093376, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.050713334000001, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.818875000000002, "user_us": 5063.0, "system_us": 263.0, "rss_before": 54902784.0, "rss_after": 59981824.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60735488, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023501625000001525, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.017833999999999, "user_us": 6844.0, "system_us": 375.0, "rss_before": 29851648.0, "rss_after": 36618240.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37027840, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028223750000002212, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.843459, "user_us": 18835.0, "system_us": 14.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02782216599999998, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.853959, "user_us": 18832.0, "system_us": 25.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027854915999999008, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.88875, "user_us": 18866.0, "system_us": 25.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023336000000000467, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.023083999999999, "user_us": 6820.0, "system_us": 375.0, "rss_before": 29802496.0, "rss_after": 36569088.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36978688, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02799887499999798, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.837791, "user_us": 18831.0, "system_us": 9.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04886091699999895, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.800958999999999, "user_us": 5049.0, "system_us": 254.0, "rss_before": 54886400.0, "rss_after": 59916288.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60637184, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4053314169999993, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 366.383583, "user_us": 370562.0, "system_us": 5614.0, "rss_before": 51314688.0, "rss_after": 104939520.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 105349120, "rep": 0, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1842592500000002, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.78025000000002, "user_us": 145431.0, "system_us": 18353.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 0, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18441062500000172, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.803333, "user_us": 145507.0, "system_us": 18301.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80003072, "rep": 0, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5181873340000003, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 444.80483300000003, "user_us": 450491.0, "system_us": 5621.0, "rss_before": 78069760.0, "rss_after": 133660672.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135102464, "rep": 0, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5134216249999994, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 441.534375, "user_us": 447129.0, "system_us": 5757.0, "rss_before": 77987840.0, "rss_after": 133627904.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 134955008, "rep": 1, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4053274579999986, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 366.395792, "user_us": 370438.0, "system_us": 5697.0, "rss_before": 51347456.0, "rss_after": 106496000.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 106905600, "rep": 1, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18440570899999997, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.95649999999998, "user_us": 145835.0, "system_us": 18102.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80003072, "rep": 1, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18466354099999904, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.253042, "user_us": 145518.0, "system_us": 18743.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 1, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4049840830000022, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 365.979083, "user_us": 369595.0, "system_us": 5539.0, "rss_before": 51331072.0, "rss_after": 104529920.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 104939520, "rep": 2, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18443741699999805, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.936333, "user_us": 145486.0, "system_us": 18455.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80003072, "rep": 2, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18421504199999816, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.932583, "user_us": 145459.0, "system_us": 18480.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 2, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5751686669999998, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 499.6010830000001, "user_us": 505208.0, "system_us": 6060.0, "rss_before": 77938688.0, "rss_after": 133677056.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135086080, "rep": 2, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4050419579999982, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 365.92525, "user_us": 369142.0, "system_us": 5517.0, "rss_before": 51314688.0, "rss_after": 102678528.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 103088128, "rep": 3, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5519851250000016, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 477.131667, "user_us": 482337.0, "system_us": 5436.0, "rss_before": 78036992.0, "rss_after": 133709824.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135086080, "rep": 3, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1841967920000016, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.644625, "user_us": 145603.0, "system_us": 18037.0, "rss_before": 36945920.0, "rss_after": 79544320.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80003072, "rep": 3, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1849347920000035, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.497625, "user_us": 145747.0, "system_us": 18755.0, "rss_before": 36962304.0, "rss_after": 79560704.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80019456, "rep": 3, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5204699169999998, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 445.870792, "user_us": 451661.0, "system_us": 5292.0, "rss_before": 78069760.0, "rss_after": 133677056.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135086080, "rep": 4, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18436654100000283, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.10079199999998, "user_us": 145711.0, "system_us": 18394.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80003072, "rep": 4, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18465204199999974, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.35866700000003, "user_us": 145719.0, "system_us": 18640.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 4, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.40484079200000167, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 366.045958, "user_us": 370039.0, "system_us": 5755.0, "rss_before": 51331072.0, "rss_after": 104923136.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 105332736, "rep": 4, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1843365410000004, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.64600000000002, "user_us": 145533.0, "system_us": 18115.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 5, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1843223750000007, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 163.9545, "user_us": 145551.0, "system_us": 18408.0, "rss_before": 36962304.0, "rss_after": 79560704.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80019456, "rep": 5, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.40466516699999744, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 365.776584, "user_us": 369889.0, "system_us": 5608.0, "rss_before": 51347456.0, "rss_after": 106397696.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 106807296, "rep": 5, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5319808329999987, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 459.847041, "user_us": 465127.0, "system_us": 5993.0, "rss_before": 78102528.0, "rss_after": 133775360.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135184384, "rep": 5, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18523166700000004, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.73245899999998, "user_us": 145646.0, "system_us": 19092.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 79986688, "rep": 6, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.40431545799999924, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 365.441083, "user_us": 368298.0, "system_us": 5406.0, "rss_before": 51331072.0, "rss_after": 102612992.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 103022592, "rep": 6, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5295287500000008, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 454.871709, "user_us": 460075.0, "system_us": 5638.0, "rss_before": 78299136.0, "rss_after": 133857280.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 135217152, "rep": 6, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1846070829999995, "iterations": 174, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 164.30550000000002, "user_us": 145530.0, "system_us": 18781.0, "rss_before": 36962304.0, "rss_after": 79560704.0, "checksum": 182.0, "retained": 0.0, "peak_rss": 80019456, "rep": 6, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18467045799999937, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.363625, "user_us": 146299.0, "system_us": 18069.0, "rss_before": 36929536.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 0, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5460691669999989, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 472.13641700000005, "user_us": 477372.0, "system_us": 5765.0, "rss_before": 78004224.0, "rss_after": 133709824.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135102464, "rep": 0, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18428220799999906, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 163.9095, "user_us": 146263.0, "system_us": 17654.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 0, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4064185829999971, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 367.27812500000005, "user_us": 369847.0, "system_us": 5818.0, "rss_before": 51331072.0, "rss_after": 102629376.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 103038976, "rep": 0, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18483608399999696, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.423417, "user_us": 146344.0, "system_us": 18088.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 1, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4074991250000011, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 368.505125, "user_us": 372486.0, "system_us": 5865.0, "rss_before": 51331072.0, "rss_after": 106594304.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 107003904, "rep": 1, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5207806250000004, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 447.17991600000005, "user_us": 452549.0, "system_us": 5948.0, "rss_before": 78102528.0, "rss_after": 133693440.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135118848, "rep": 1, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18488687500000367, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.380292, "user_us": 146170.0, "system_us": 18217.0, "rss_before": 36962304.0, "rss_after": 79560704.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80019456, "rep": 1, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18527291699999893, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.68537500000002, "user_us": 146371.0, "system_us": 18319.0, "rss_before": 36962304.0, "rss_after": 79560704.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80019456, "rep": 2, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4067751249999958, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 367.74683300000004, "user_us": 370690.0, "system_us": 5701.0, "rss_before": 51363840.0, "rss_after": 102744064.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 103153664, "rep": 2, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5162411250000005, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 443.236166, "user_us": 448578.0, "system_us": 5743.0, "rss_before": 78364672.0, "rss_after": 133791744.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 134955008, "rep": 2, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18424645799999695, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 163.97125, "user_us": 146337.0, "system_us": 17638.0, "rss_before": 36945920.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 2, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5308803750000024, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 457.79362499999996, "user_us": 463194.0, "system_us": 5851.0, "rss_before": 78200832.0, "rss_after": 133824512.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135200768, "rep": 3, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4063481669999973, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 367.31875, "user_us": 370555.0, "system_us": 5627.0, "rss_before": 51331072.0, "rss_after": 104431616.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 104841216, "rep": 3, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18484920899999935, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.343666, "user_us": 146390.0, "system_us": 17968.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 3, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18487975000000034, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.512167, "user_us": 146385.0, "system_us": 18118.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 3, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18406820799999934, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 163.67754200000002, "user_us": 146125.0, "system_us": 17559.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 4, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18450404099999673, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.21433299999998, "user_us": 146314.0, "system_us": 17905.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 4, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4061866250000037, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 367.342416, "user_us": 370800.0, "system_us": 5532.0, "rss_before": 51347456.0, "rss_after": 104595456.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 105005056, "rep": 4, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5209186250000002, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 447.038208, "user_us": 452090.0, "system_us": 5807.0, "rss_before": 78118912.0, "rss_after": 133627904.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135020544, "rep": 4, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.40771999999999764, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 368.63266600000003, "user_us": 373017.0, "system_us": 5622.0, "rss_before": 51314688.0, "rss_after": 106512384.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 106921984, "rep": 5, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18497391700000065, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.601875, "user_us": 146363.0, "system_us": 18244.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 5, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18439708399999688, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 163.90679200000002, "user_us": 146158.0, "system_us": 17756.0, "rss_before": 36929536.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 5, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5622741249999947, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 488.024584, "user_us": 493841.0, "system_us": 5720.0, "rss_before": 78118912.0, "rss_after": 133693440.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135086080, "rep": 5, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.18480574999999533, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.11974999999998, "user_us": 146236.0, "system_us": 17890.0, "rss_before": 36945920.0, "rss_after": 79527936.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 79986688, "rep": 6, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.4069796249999982, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 368.152209, "user_us": 372179.0, "system_us": 5786.0, "rss_before": 51363840.0, "rss_after": 104677376.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 105086976, "rep": 6, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.5200591250000031, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 448.60920899999996, "user_us": 453809.0, "system_us": 5686.0, "rss_before": 78266368.0, "rss_after": 133791744.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 135184384, "rep": 6, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.1850568750000008, "iterations": 175, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 164.580375, "user_us": 146368.0, "system_us": 18217.0, "rss_before": 36962304.0, "rss_after": 79544320.0, "checksum": 183.0, "retained": 0.0, "peak_rss": 80003072, "rep": 6, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02507900000000518, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.256459000000001, "user_us": 7249.0, "system_us": 491.0, "rss_before": 37060608.0, "rss_after": 44187648.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44597248, "rep": 0, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.052153625000002535, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.429916000000002, "user_us": 6011.0, "system_us": 302.0, "rss_before": 65028096.0, "rss_after": 70172672.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70959104, "rep": 0, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03614779200000129, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.682791, "user_us": 23649.0, "system_us": 38.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 0, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03539429199999944, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.951083, "user_us": 22897.0, "system_us": 61.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 0, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.05663879099999747, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.240374999999997, "user_us": 5831.0, "system_us": 261.0, "rss_before": 65126400.0, "rss_after": 70221824.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70975488, "rep": 1, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02536266699999601, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.239875000000001, "user_us": 7260.0, "system_us": 459.0, "rss_before": 37076992.0, "rss_after": 44204032.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44613632, "rep": 1, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0359539170000005, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.260458, "user_us": 23235.0, "system_us": 29.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 1, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03545975000000112, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.904000000000003, "user_us": 22880.0, "system_us": 27.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 1, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03484449999999839, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.451375, "user_us": 22409.0, "system_us": 46.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 2, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02508870900000204, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2223749999999995, "user_us": 7218.0, "system_us": 467.0, "rss_before": 37044224.0, "rss_after": 44138496.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44548096, "rep": 2, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03498787499999878, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.400042, "user_us": 22379.0, "system_us": 24.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 2, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.049168666999996447, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.323333000000002, "user_us": 5940.0, "system_us": 270.0, "rss_before": 64913408.0, "rss_after": 69992448.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70746112, "rep": 2, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03583637499999526, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.09, "user_us": 23055.0, "system_us": 38.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 3, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0357951669999963, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.426542000000005, "user_us": 23394.0, "system_us": 36.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 3, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02504499999999865, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.216832999999998, "user_us": 7202.0, "system_us": 452.0, "rss_before": 37093376.0, "rss_after": 44187648.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44597248, "rep": 3, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.051345750000002965, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.354292000000001, "user_us": 6010.0, "system_us": 296.0, "rss_before": 65011712.0, "rss_after": 70189056.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70909952, "rep": 3, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03457058299999716, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.941499999999998, "user_us": 21898.0, "system_us": 50.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 4, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.049164500000003386, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.3505, "user_us": 5999.0, "system_us": 280.0, "rss_before": 65044480.0, "rss_after": 70172672.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70893568, "rep": 4, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.035617332999997586, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.055833999999997, "user_us": 23027.0, "system_us": 33.0, "rss_before": 22462464.0, "rss_after": 22544384.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23658496, "rep": 4, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.02511379100000255, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.221, "user_us": 7229.0, "system_us": 418.0, "rss_before": 37044224.0, "rss_after": 44138496.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44548096, "rep": 4, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03574012499999668, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.095334, "user_us": 23064.0, "system_us": 35.0, "rss_before": 22462464.0, "rss_after": 22544384.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23658496, "rep": 5, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03510770799999818, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.667541999999997, "user_us": 22633.0, "system_us": 38.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 5, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.024910709000003806, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.216540999999999, "user_us": 7218.0, "system_us": 434.0, "rss_before": 37076992.0, "rss_after": 44171264.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44580864, "rep": 5, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0523116669999979, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.373957999999998, "user_us": 6009.0, "system_us": 281.0, "rss_before": 65011712.0, "rss_after": 70189056.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70926336, "rep": 5, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.051332916999996314, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.330791000000001, "user_us": 6023.0, "system_us": 300.0, "rss_before": 64929792.0, "rss_after": 70074368.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 70893568, "rep": 6, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03607141700000227, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.313708, "user_us": 23289.0, "system_us": 28.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23691264, "rep": 6, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.025057791999998358, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2762920000000015, "user_us": 7268.0, "system_us": 501.0, "rss_before": 37060608.0, "rss_after": 44187648.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 44597248, "rep": 6, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.035790249999998025, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.326541000000002, "user_us": 23300.0, "system_us": 31.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 1777201108776.0, "retained": 0.0, "peak_rss": 23674880, "rep": 6, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.11007575000000003, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 87.296875, "user_us": 81717.0, "system_us": 7389.0, "rss_before": 46874624.0, "rss_after": 155254784.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 155664384, "rep": 0, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14189462499999905, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.587334, "user_us": 122738.0, "system_us": 3861.0, "rss_before": 31997952.0, "rss_after": 94142464.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94601216, "rep": 0, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14212583300000148, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.60120799999999, "user_us": 122828.0, "system_us": 3778.0, "rss_before": 32014336.0, "rss_after": 94158848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94617600, "rep": 0, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5211160419999956, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 467.487042, "user_us": 462956.0, "system_us": 9198.0, "rss_before": 72712192.0, "rss_after": 184057856.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185188352, "rep": 0, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14129854199999414, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 125.86458400000002, "user_us": 122053.0, "system_us": 3816.0, "rss_before": 32014336.0, "rss_after": 94158848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94617600, "rep": 1, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14183270800000258, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.3125, "user_us": 122365.0, "system_us": 3952.0, "rss_before": 31997952.0, "rss_after": 94175232.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94633984, "rep": 1, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5233038750000034, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 466.346667, "user_us": 461791.0, "system_us": 9204.0, "rss_before": 72712192.0, "rss_after": 184090624.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185122816, "rep": 1, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1105983340000023, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 87.31266699999999, "user_us": 81621.0, "system_us": 7631.0, "rss_before": 46891008.0, "rss_after": 159481856.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 159891456, "rep": 1, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5209917079999968, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 466.601417, "user_us": 461661.0, "system_us": 9544.0, "rss_before": 72695808.0, "rss_after": 184057856.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185139200, "rep": 2, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14236558400000376, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.74800000000002, "user_us": 122786.0, "system_us": 3970.0, "rss_before": 31997952.0, "rss_after": 94126080.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94584832, "rep": 2, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.10831129199999623, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.42325, "user_us": 81479.0, "system_us": 5783.0, "rss_before": 46874624.0, "rss_after": 129056768.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 129466368, "rep": 2, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14214954199999852, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.86000000000001, "user_us": 122671.0, "system_us": 4193.0, "rss_before": 31997952.0, "rss_after": 94109696.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94568448, "rep": 2, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5224627909999953, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 468.172084, "user_us": 463395.0, "system_us": 9678.0, "rss_before": 72564736.0, "rss_after": 183959552.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185139200, "rep": 3, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1412933749999965, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 125.88874999999999, "user_us": 121847.0, "system_us": 4048.0, "rss_before": 32014336.0, "rss_after": 94175232.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94633984, "rep": 3, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.10857287500000012, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.74825, "user_us": 81646.0, "system_us": 5886.0, "rss_before": 46825472.0, "rss_after": 128974848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 129384448, "rep": 3, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14162120800000366, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.20216699999999, "user_us": 122339.0, "system_us": 3872.0, "rss_before": 31997952.0, "rss_after": 94126080.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94584832, "rep": 3, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5191409169999943, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 465.578041, "user_us": 460678.0, "system_us": 9598.0, "rss_before": 72646656.0, "rss_after": 183910400.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 184991744, "rep": 4, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1415872500000006, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.19041700000001, "user_us": 122392.0, "system_us": 3807.0, "rss_before": 32014336.0, "rss_after": 94158848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94617600, "rep": 4, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1414566660000034, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.10924999999999, "user_us": 122127.0, "system_us": 3986.0, "rss_before": 31997952.0, "rss_after": 94158848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94617600, "rep": 4, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.11212458400000003, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 89.215541, "user_us": 81983.0, "system_us": 9060.0, "rss_before": 46891008.0, "rss_after": 182517760.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 182927360, "rep": 4, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14194491700000356, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.61075000000001, "user_us": 122391.0, "system_us": 4229.0, "rss_before": 32014336.0, "rss_after": 94126080.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94584832, "rep": 5, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.11059749999999724, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 87.678125, "user_us": 81476.0, "system_us": 7978.0, "rss_before": 46841856.0, "rss_after": 167772160.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 168181760, "rep": 5, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1418530409999974, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.501375, "user_us": 122402.0, "system_us": 4107.0, "rss_before": 31997952.0, "rss_after": 94126080.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94584832, "rep": 5, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5233233750000039, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 468.152167, "user_us": 463633.0, "system_us": 9212.0, "rss_before": 72679424.0, "rss_after": 184074240.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185401344, "rep": 5, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.14194220800000323, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 126.44979200000002, "user_us": 122457.0, "system_us": 4002.0, "rss_before": 31997952.0, "rss_after": 94158848.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94617600, "rep": 6, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.11023349999999965, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 87.255833, "user_us": 81733.0, "system_us": 7482.0, "rss_before": 46858240.0, "rss_after": 155254784.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 155664384, "rep": 6, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.5229068749999968, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 467.200542, "user_us": 462281.0, "system_us": 9733.0, "rss_before": 72663040.0, "rss_after": 183975936.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 185073664, "rep": 6, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.1425177499999961, "iterations": 1265, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 127.19620799999998, "user_us": 123339.0, "system_us": 3861.0, "rss_before": 32014336.0, "rss_after": 94126080.0, "checksum": 1273.0, "retained": 0.0, "peak_rss": 94584832, "rep": 6, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014249083000002827, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1325830000000003, "user_us": 1118.0, "system_us": 18.0, "rss_before": 24510464.0, "rss_after": 24723456.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25772032, "rep": 0, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2281906250000034, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1176.609417, "user_us": 1140168.0, "system_us": 46258.0, "rss_before": 72564736.0, "rss_after": 196329472.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 226607104, "rep": 0, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014651832999994951, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1313750000000002, "user_us": 1117.0, "system_us": 18.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 0, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.2265786670000054, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 203.345833, "user_us": 197784.0, "system_us": 9958.0, "rss_before": 46858240.0, "rss_after": 159580160.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 159989760, "rep": 0, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2251795829999992, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1169.779792, "user_us": 1139598.0, "system_us": 39787.0, "rss_before": 72695808.0, "rss_after": 198524928.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 208109568, "rep": 1, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22588220800000158, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 202.76920800000002, "user_us": 197750.0, "system_us": 9522.0, "rss_before": 46825472.0, "rss_after": 155353088.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 155762688, "rep": 1, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014549582999997313, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1297500000000005, "user_us": 1119.0, "system_us": 17.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 1, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014354958999994949, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1295000000000002, "user_us": 1114.0, "system_us": 19.0, "rss_before": 24526848.0, "rss_after": 24739840.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25788416, "rep": 1, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22668920800000336, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 203.841, "user_us": 197714.0, "system_us": 10524.0, "rss_before": 46874624.0, "rss_after": 174260224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 174669824, "rep": 2, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014538874999999507, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1280829999999993, "user_us": 1117.0, "system_us": 14.0, "rss_before": 24510464.0, "rss_after": 24723456.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25772032, "rep": 2, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014428166999998382, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1292079999999993, "user_us": 1118.0, "system_us": 15.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 2, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2273833750000023, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1173.794959, "user_us": 1137914.0, "system_us": 45356.0, "rss_before": 72712192.0, "rss_after": 199557120.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 214384640, "rep": 2, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.199483542000003, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1147.5705, "user_us": 1135687.0, "system_us": 21508.0, "rss_before": 72597504.0, "rss_after": 184729600.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 207093760, "rep": 3, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014514832999999783, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1216670000000004, "user_us": 1108.0, "system_us": 17.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 3, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22549383399999812, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 202.648542, "user_us": 197477.0, "system_us": 9612.0, "rss_before": 46874624.0, "rss_after": 155385856.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 155795456, "rep": 3, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014488999999997532, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.151083999999999, "user_us": 1118.0, "system_us": 37.0, "rss_before": 24510464.0, "rss_after": 24723456.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25772032, "rep": 3, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22546712500000154, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 202.37141599999998, "user_us": 197455.0, "system_us": 9336.0, "rss_before": 46874624.0, "rss_after": 151158784.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 151568384, "rep": 4, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2266128330000043, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1176.665459, "user_us": 1140692.0, "system_us": 45514.0, "rss_before": 72744960.0, "rss_after": 191086592.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 217137152, "rep": 4, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014547042000003785, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.144583, "user_us": 1117.0, "system_us": 31.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 4, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014376166999994666, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1242920000000005, "user_us": 1112.0, "system_us": 17.0, "rss_before": 24526848.0, "rss_after": 24739840.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25788416, "rep": 4, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2268918330000034, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1173.5749170000001, "user_us": 1140270.0, "system_us": 43312.0, "rss_before": 72564736.0, "rss_after": 187924480.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 239124480, "rep": 5, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014670167000005563, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1284170000000007, "user_us": 1116.0, "system_us": 16.0, "rss_before": 24510464.0, "rss_after": 24723456.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25772032, "rep": 5, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22681458299999946, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 203.50424999999998, "user_us": 197930.0, "system_us": 10080.0, "rss_before": 46874624.0, "rss_after": 165904384.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 166313984, "rep": 5, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.01455674999999701, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1209589999999992, "user_us": 1111.0, "system_us": 19.0, "rss_before": 24543232.0, "rss_after": 24756224.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25804800, "rep": 5, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014386707999996418, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.130208999999999, "user_us": 1120.0, "system_us": 14.0, "rss_before": 24510464.0, "rss_after": 24723456.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25772032, "rep": 6, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 1.2275927499999995, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1175.3794169999999, "user_us": 1139760.0, "system_us": 45249.0, "rss_before": 72630272.0, "rss_after": 199557120.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 214581248, "rep": 6, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.014530290999999806, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.1392920000000002, "user_us": 1119.0, "system_us": 23.0, "rss_before": 24526848.0, "rss_after": 24739840.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 25788416, "rep": 6, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.22586995900000062, "iterations": 3139, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 202.862584, "user_us": 197687.0, "system_us": 9515.0, "rss_before": 46858240.0, "rss_after": 155369472.0, "checksum": 3147.0, "retained": 0.0, "peak_rss": 155779072, "rep": 6, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025341249999996762, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.252959000000002, "user_us": 7256.0, "system_us": 470.0, "rss_before": 38387712.0, "rss_after": 45481984.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45891584, "rep": 0, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03469087499999546, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.379542, "user_us": 21345.0, "system_us": 43.0, "rss_before": 24281088.0, "rss_after": 24363008.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25477120, "rep": 0, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03689266599999996, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.740040999999998, "user_us": 23692.0, "system_us": 51.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25509888, "rep": 0, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.051564249999998424, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.297207999999998, "user_us": 5847.0, "system_us": 313.0, "rss_before": 65421312.0, "rss_after": 70844416.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72450048, "rep": 0, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025566499999996495, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2389170000000025, "user_us": 7240.0, "system_us": 476.0, "rss_before": 38354944.0, "rss_after": 45449216.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45858816, "rep": 1, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03806979099999808, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.543917, "user_us": 24514.0, "system_us": 34.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25509888, "rep": 1, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.051365375000003155, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.340333000000001, "user_us": 5889.0, "system_us": 340.0, "rss_before": 65208320.0, "rss_after": 70746112.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72384512, "rep": 1, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03485479200000441, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.546125, "user_us": 21475.0, "system_us": 75.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 1, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03705454199999991, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.826375, "user_us": 23780.0, "system_us": 50.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 2, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03705404099999754, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.027667, "user_us": 24008.0, "system_us": 22.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 2, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025491124999994952, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.210292000000001, "user_us": 7199.0, "system_us": 456.0, "rss_before": 38469632.0, "rss_after": 45563904.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45973504, "rep": 2, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.05162320899999884, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.249165999999999, "user_us": 5796.0, "system_us": 337.0, "rss_before": 65323008.0, "rss_after": 70811648.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72384512, "rep": 2, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.052024500000001694, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.314875000000001, "user_us": 5870.0, "system_us": 328.0, "rss_before": 65257472.0, "rss_after": 70713344.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72384512, "rep": 3, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025635124999993764, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.283875000000002, "user_us": 7312.0, "system_us": 531.0, "rss_before": 38371328.0, "rss_after": 45498368.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45907968, "rep": 3, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.035994625000000724, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.623125, "user_us": 22566.0, "system_us": 60.0, "rss_before": 24281088.0, "rss_after": 24363008.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25477120, "rep": 3, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03754012499999959, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.291209, "user_us": 24268.0, "system_us": 27.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25509888, "rep": 3, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02549520899999891, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.210917000000002, "user_us": 7221.0, "system_us": 427.0, "rss_before": 38387712.0, "rss_after": 45481984.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45891584, "rep": 4, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.051098250000002565, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2926660000000005, "user_us": 5851.0, "system_us": 320.0, "rss_before": 65191936.0, "rss_after": 70729728.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72400896, "rep": 4, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03711841700000207, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.853625000000005, "user_us": 23830.0, "system_us": 31.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 4, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03692941599999955, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.816333, "user_us": 23784.0, "system_us": 36.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 4, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.05372591700000129, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.301500000000001, "user_us": 5853.0, "system_us": 326.0, "rss_before": 65159168.0, "rss_after": 70631424.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72318976, "rep": 5, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03475654100000014, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.640166999999998, "user_us": 21621.0, "system_us": 23.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25509888, "rep": 5, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03597395900000322, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.571416, "user_us": 22533.0, "system_us": 43.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 5, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025578332999998565, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2741669999999985, "user_us": 7304.0, "system_us": 528.0, "rss_before": 38371328.0, "rss_after": 45498368.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45907968, "rep": 5, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.050128999999998314, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.407958000000001, "user_us": 5957.0, "system_us": 308.0, "rss_before": 65273856.0, "rss_after": 70631424.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 72302592, "rep": 6, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025641874999998038, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.284750000000001, "user_us": 7279.0, "system_us": 541.0, "rss_before": 38387712.0, "rss_after": 45514752.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 45924352, "rep": 6, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.034868709000001274, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.456084, "user_us": 21409.0, "system_us": 53.0, "rss_before": 24297472.0, "rss_after": 24379392.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25493504, "rep": 6, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03437600000000174, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.201332999999998, "user_us": 21179.0, "system_us": 25.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 2097196388752.0, "retained": 0.0, "peak_rss": 25509888, "rep": 6, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.18174899999999639, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.75900000000001, "user_us": 152718.0, "system_us": 8049.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 0, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3688484580000022, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.89541699999995, "user_us": 327524.0, "system_us": 3074.0, "rss_before": 46088192.0, "rss_after": 81117184.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81526784, "rep": 0, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3372260419999975, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.682167, "user_us": 272279.0, "system_us": 2233.0, "rss_before": 69844992.0, "rss_after": 92766208.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 93945856, "rep": 0, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18190462500000137, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.601667, "user_us": 152650.0, "system_us": 7955.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 0, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18213120800000127, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 161.03625, "user_us": 152812.0, "system_us": 8232.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 1, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1821409590000087, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 161.113708, "user_us": 153098.0, "system_us": 8015.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 1, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3683468330000039, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.58574999999996, "user_us": 327295.0, "system_us": 2932.0, "rss_before": 46120960.0, "rss_after": 81100800.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81510400, "rep": 1, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3366894159999987, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.700792, "user_us": 272143.0, "system_us": 2290.0, "rss_before": 69992448.0, "rss_after": 92897280.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 94060544, "rep": 1, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.368605125000002, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.71212499999996, "user_us": 327498.0, "system_us": 2927.0, "rss_before": 46088192.0, "rss_after": 81133568.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81543168, "rep": 2, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18197279099999264, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.69012499999997, "user_us": 152792.0, "system_us": 7903.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 2, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.181992833999999, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.948875, "user_us": 152919.0, "system_us": 8033.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 2, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3371032499999984, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.936667, "user_us": 272173.0, "system_us": 2568.0, "rss_before": 69959680.0, "rss_after": 92913664.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 94011392, "rep": 2, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18219779200001085, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.81037500000002, "user_us": 152776.0, "system_us": 8039.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 3, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18210999999999444, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 161.060834, "user_us": 153061.0, "system_us": 8004.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 3, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.33764620799999534, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.583625, "user_us": 272134.0, "system_us": 2208.0, "rss_before": 69877760.0, "rss_after": 92831744.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 93995008, "rep": 3, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3687703750000111, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 330.05699999999996, "user_us": 327427.0, "system_us": 3246.0, "rss_before": 46088192.0, "rss_after": 81100800.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81510400, "rep": 3, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18196262500001126, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.87908299999998, "user_us": 152984.0, "system_us": 7902.0, "rss_before": 30769152.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 4, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18255704199999911, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 161.25812499999998, "user_us": 153192.0, "system_us": 8061.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 4, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3356787909999923, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.594833, "user_us": 271976.0, "system_us": 2337.0, "rss_before": 69812224.0, "rss_after": 92782592.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 93929472, "rep": 4, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3685549169999973, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.779791, "user_us": 327414.0, "system_us": 3102.0, "rss_before": 46104576.0, "rss_after": 81133568.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81543168, "rep": 4, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18210558300000912, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.98920900000002, "user_us": 152818.0, "system_us": 8177.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 5, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3683314580000001, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.681333, "user_us": 327491.0, "system_us": 2827.0, "rss_before": 46104576.0, "rss_after": 81117184.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81526784, "rep": 5, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1820025840000028, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.808417, "user_us": 152835.0, "system_us": 7977.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 5, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.34175595799999314, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.854459, "user_us": 272171.0, "system_us": 2408.0, "rss_before": 69943296.0, "rss_after": 92930048.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 94060544, "rep": 5, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18207645900000102, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.70175, "user_us": 152938.0, "system_us": 7768.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68157440, "rep": 6, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.36829445799999405, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 329.635584, "user_us": 327537.0, "system_us": 2788.0, "rss_before": 46071808.0, "rss_after": 81117184.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 81526784, "rep": 6, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18168712499999629, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 160.56187500000001, "user_us": 152925.0, "system_us": 7640.0, "rss_before": 30769152.0, "rss_after": 67698688.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 68141056, "rep": 6, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.33803445800000986, "iterations": 159, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 273.57124999999996, "user_us": 272148.0, "system_us": 2179.0, "rss_before": 69894144.0, "rss_after": 92897280.0, "checksum": 167.0, "retained": 0.0, "peak_rss": 94060544, "rep": 6, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3696939589999886, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.318292, "user_us": 329199.0, "system_us": 2728.0, "rss_before": 46088192.0, "rss_after": 81117184.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81526784, "rep": 0, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18011883300000875, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.943541, "user_us": 152446.0, "system_us": 6501.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 0, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.179921125000007, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.018916, "user_us": 152416.0, "system_us": 6607.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 0, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.33790108300000554, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 275.01154199999996, "user_us": 273367.0, "system_us": 2344.0, "rss_before": 69894144.0, "rss_after": 92848128.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 93995008, "rep": 0, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.370177874999996, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.348167, "user_us": 329196.0, "system_us": 2681.0, "rss_before": 46088192.0, "rss_after": 81084416.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81494016, "rep": 1, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18004949999999553, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.990417, "user_us": 152268.0, "system_us": 6726.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 1, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1803853329999896, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.386375, "user_us": 152748.0, "system_us": 6634.0, "rss_before": 30769152.0, "rss_after": 67698688.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68141056, "rep": 1, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3383756249999976, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 275.336625, "user_us": 273341.0, "system_us": 2694.0, "rss_before": 69861376.0, "rss_after": 92782592.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 94044160, "rep": 1, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18096599999999796, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.575083, "user_us": 152757.0, "system_us": 6819.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 2, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3418454159999982, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 275.228958, "user_us": 273395.0, "system_us": 2579.0, "rss_before": 69894144.0, "rss_after": 92897280.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 94076928, "rep": 2, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.36977762500001177, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.141291, "user_us": 329074.0, "system_us": 2627.0, "rss_before": 46104576.0, "rss_after": 81133568.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81543168, "rep": 2, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.17989074999999843, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.87225, "user_us": 152312.0, "system_us": 6565.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 2, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18037091699999053, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.45629099999996, "user_us": 152816.0, "system_us": 6644.0, "rss_before": 30769152.0, "rss_after": 67698688.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68141056, "rep": 3, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3693264589999927, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.093, "user_us": 328886.0, "system_us": 2808.0, "rss_before": 46120960.0, "rss_after": 81149952.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81559552, "rep": 3, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3403727090000075, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 274.99, "user_us": 273475.0, "system_us": 2224.0, "rss_before": 69812224.0, "rss_after": 92782592.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 93929472, "rep": 3, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.17978650000000584, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.60883299999998, "user_us": 152244.0, "system_us": 6369.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 3, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18022666600001003, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.161833, "user_us": 152686.0, "system_us": 6484.0, "rss_before": 30801920.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 4, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.17980741699999214, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.74025, "user_us": 152218.0, "system_us": 6531.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68141056, "rep": 4, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3401415410000084, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 275.123375, "user_us": 273486.0, "system_us": 2332.0, "rss_before": 69877760.0, "rss_after": 92831744.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 93995008, "rep": 4, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.36983908399999166, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.150167, "user_us": 329032.0, "system_us": 2720.0, "rss_before": 46120960.0, "rss_after": 81182720.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81592320, "rep": 4, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1800534159999927, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.000291, "user_us": 152700.0, "system_us": 6308.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 5, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18002216700000417, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.874375, "user_us": 152360.0, "system_us": 6521.0, "rss_before": 30785536.0, "rss_after": 67698688.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68141056, "rep": 5, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.36972804200000553, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.195208, "user_us": 329034.0, "system_us": 2760.0, "rss_before": 46071808.0, "rss_after": 81149952.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81559552, "rep": 5, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.33773354100000574, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 274.98175, "user_us": 273338.0, "system_us": 2344.0, "rss_before": 69828608.0, "rss_after": 92815360.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 93929472, "rep": 5, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.37008258300001273, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 331.387875, "user_us": 329155.0, "system_us": 2835.0, "rss_before": 46088192.0, "rss_after": 81117184.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 81526784, "rep": 6, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1798583749999949, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 158.801625, "user_us": 152281.0, "system_us": 6528.0, "rss_before": 30769152.0, "rss_after": 67698688.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68141056, "rep": 6, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.18026445799999635, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.250041, "user_us": 152508.0, "system_us": 6725.0, "rss_before": 30785536.0, "rss_after": 67715072.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 68157440, "rep": 6, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.3380842919999907, "iterations": 160, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 274.896584, "user_us": 273399.0, "system_us": 2205.0, "rss_before": 69812224.0, "rss_after": 92766208.0, "checksum": 168.0, "retained": 0.0, "peak_rss": 93913088, "rep": 6, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.0366401669999874, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.861290999999998, "user_us": 23818.0, "system_us": 47.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 0, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05141166699999644, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.214084, "user_us": 5822.0, "system_us": 263.0, "rss_before": 65945600.0, "rss_after": 71024640.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71794688, "rep": 0, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.0253832499999902, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.262749999999999, "user_us": 7253.0, "system_us": 482.0, "rss_before": 37830656.0, "rss_after": 44957696.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45367296, "rep": 0, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03667720900000404, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.774208, "user_us": 23751.0, "system_us": 27.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 0, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03396945900000503, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.099917, "user_us": 21057.0, "system_us": 46.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 1, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.025347207999999455, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.215833, "user_us": 7214.0, "system_us": 451.0, "rss_before": 37847040.0, "rss_after": 44941312.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45350912, "rep": 1, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03652800000000411, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.524084, "user_us": 23466.0, "system_us": 62.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24674304, "rep": 1, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.051109332999999424, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.325165999999999, "user_us": 5978.0, "system_us": 274.0, "rss_before": 65912832.0, "rss_after": 71024640.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71761920, "rep": 1, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.035644750000003, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.623082999999998, "user_us": 22595.0, "system_us": 32.0, "rss_before": 23445504.0, "rss_after": 23527424.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24641536, "rep": 2, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03637708300000497, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.489334, "user_us": 23447.0, "system_us": 45.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 2, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.025321625000003678, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.251041999999998, "user_us": 7257.0, "system_us": 488.0, "rss_before": 37847040.0, "rss_after": 44974080.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45383680, "rep": 2, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05170375000000149, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.345041000000002, "user_us": 5976.0, "system_us": 282.0, "rss_before": 65912832.0, "rss_after": 71024640.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71778304, "rep": 2, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05211304099999836, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.321708000000001, "user_us": 6093.0, "system_us": 280.0, "rss_before": 65863680.0, "rss_after": 71008256.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71778304, "rep": 3, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03501808299999709, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.038792, "user_us": 22035.0, "system_us": 8.0, "rss_before": 23445504.0, "rss_after": 23527424.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24641536, "rep": 3, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.02571729199999595, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.200291999999999, "user_us": 7187.0, "system_us": 433.0, "rss_before": 37847040.0, "rss_after": 44941312.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45350912, "rep": 3, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03707520900000816, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.034583, "user_us": 24007.0, "system_us": 31.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24674304, "rep": 3, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05190824999999677, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.245915999999998, "user_us": 5882.0, "system_us": 269.0, "rss_before": 65929216.0, "rss_after": 71041024.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71778304, "rep": 4, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.025677208000004725, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.316875000000001, "user_us": 7320.0, "system_us": 544.0, "rss_before": 37830656.0, "rss_after": 44957696.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45367296, "rep": 4, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03455083299999728, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.502125, "user_us": 21454.0, "system_us": 52.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 4, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03412541699999849, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.261792000000003, "user_us": 21237.0, "system_us": 28.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24674304, "rep": 4, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.034057875000002014, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.179334, "user_us": 21137.0, "system_us": 46.0, "rss_before": 23461888.0, "rss_after": 23543808.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24657920, "rep": 5, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.025354417000002627, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.245208000000002, "user_us": 7242.0, "system_us": 494.0, "rss_before": 37847040.0, "rss_after": 44941312.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45350912, "rep": 5, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03585712499999261, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.889083, "user_us": 22830.0, "system_us": 63.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24674304, "rep": 5, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.051786332999995466, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.333290999999999, "user_us": 5990.0, "system_us": 284.0, "rss_before": 65912832.0, "rss_after": 71024640.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71761920, "rep": 5, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05220633400000452, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.334375000000001, "user_us": 5964.0, "system_us": 271.0, "rss_before": 65929216.0, "rss_after": 71073792.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 71794688, "rep": 6, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.02550649999999166, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.221, "user_us": 7198.0, "system_us": 430.0, "rss_before": 37879808.0, "rss_after": 44974080.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 45383680, "rep": 6, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03578879200000529, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.889916000000003, "user_us": 22867.0, "system_us": 27.0, "rss_before": 23445504.0, "rss_after": 23527424.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24641536, "rep": 6, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.035142500000006294, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.286042, "user_us": 22264.0, "system_us": 25.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 1980043920144.0, "retained": 0.0, "peak_rss": 24674304, "rep": 6, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.11482604200000424, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 86.732209, "user_us": 78950.0, "system_us": 9287.0, "rss_before": 46858240.0, "rss_after": 162398208.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 162807808, "rep": 0, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.21101570899999444, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.709917, "user_us": 191666.0, "system_us": 3012.0, "rss_before": 28753920.0, "rss_after": 63651840.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64110592, "rep": 0, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20823575000000005, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.30295800000002, "user_us": 191257.0, "system_us": 3049.0, "rss_before": 28770304.0, "rss_after": 63668224.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64126976, "rep": 0, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6603596660000051, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 597.872625, "user_us": 593208.0, "system_us": 9357.0, "rss_before": 71991296.0, "rss_after": 165724160.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166313984, "rep": 0, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6632364169999931, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 603.8510829999999, "user_us": 593201.0, "system_us": 15270.0, "rss_before": 71892992.0, "rss_after": 165609472.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166232064, "rep": 1, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11652033299999687, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.4485, "user_us": 78854.0, "system_us": 8312.0, "rss_before": 46972928.0, "rss_after": 158760960.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 159170560, "rep": 1, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20831891699999971, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.38524999999998, "user_us": 191237.0, "system_us": 3155.0, "rss_before": 28770304.0, "rss_after": 63668224.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64126976, "rep": 1, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20941666599999564, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 195.218458, "user_us": 191828.0, "system_us": 3395.0, "rss_before": 28753920.0, "rss_after": 63619072.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64077824, "rep": 1, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20908554199999685, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.889292, "user_us": 191719.0, "system_us": 3175.0, "rss_before": 28770304.0, "rss_after": 63635456.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64094208, "rep": 2, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11388995900000509, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.944625, "user_us": 78450.0, "system_us": 9003.0, "rss_before": 46858240.0, "rss_after": 171737088.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 172146688, "rep": 2, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20874762500000088, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.61295800000002, "user_us": 191517.0, "system_us": 3102.0, "rss_before": 28753920.0, "rss_after": 63651840.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64110592, "rep": 2, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6561891249999974, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 598.395667, "user_us": 593654.0, "system_us": 9350.0, "rss_before": 71925760.0, "rss_after": 165707776.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166297600, "rep": 2, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20802445799999703, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 193.93075000000002, "user_us": 190803.0, "system_us": 3135.0, "rss_before": 28737536.0, "rss_after": 63651840.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64110592, "rep": 3, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6555365410000036, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 597.921792, "user_us": 593735.0, "system_us": 9075.0, "rss_before": 71925760.0, "rss_after": 165740544.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166363136, "rep": 3, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11339225000000397, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.47791600000001, "user_us": 79177.0, "system_us": 7749.0, "rss_before": 46891008.0, "rss_after": 156794880.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 157204480, "rep": 3, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20830458300000032, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.219459, "user_us": 191298.0, "system_us": 2927.0, "rss_before": 28770304.0, "rss_after": 63668224.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64126976, "rep": 3, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6545248749999928, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 597.524458, "user_us": 593411.0, "system_us": 8896.0, "rss_before": 71876608.0, "rss_after": 165609472.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166199296, "rep": 4, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.2087737079999954, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.6135, "user_us": 191681.0, "system_us": 2923.0, "rss_before": 28770304.0, "rss_after": 63668224.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64126976, "rep": 4, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.2077673329999925, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 193.83200000000002, "user_us": 191025.0, "system_us": 2812.0, "rss_before": 28737536.0, "rss_after": 63619072.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64077824, "rep": 4, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11401874999999961, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 86.029292, "user_us": 79011.0, "system_us": 8517.0, "rss_before": 46907392.0, "rss_after": 164282368.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 164691968, "rep": 4, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20831354199999907, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.11141700000002, "user_us": 191029.0, "system_us": 3079.0, "rss_before": 28753920.0, "rss_after": 63619072.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64077824, "rep": 5, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.2082963750000033, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.226667, "user_us": 191158.0, "system_us": 3072.0, "rss_before": 28770304.0, "rss_after": 63668224.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64126976, "rep": 5, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11412900000000548, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 86.389709, "user_us": 79256.0, "system_us": 8672.0, "rss_before": 46858240.0, "rss_after": 164233216.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 164642816, "rep": 5, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6568750830000027, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 598.633084, "user_us": 593903.0, "system_us": 9475.0, "rss_before": 71761920.0, "rss_after": 165576704.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166166528, "rep": 5, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20889387500000112, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.702792, "user_us": 191625.0, "system_us": 3082.0, "rss_before": 28753920.0, "rss_after": 64061440.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64520192, "rep": 6, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.20878533300000868, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 194.810917, "user_us": 191797.0, "system_us": 3018.0, "rss_before": 28753920.0, "rss_after": 64045056.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 64503808, "rep": 6, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.6554105000000021, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 598.211041, "user_us": 593414.0, "system_us": 9500.0, "rss_before": 71860224.0, "rss_after": 165593088.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 166199296, "rep": 6, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.11337512500000457, "iterations": 1371, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 85.63508300000001, "user_us": 79163.0, "system_us": 8024.0, "rss_before": 46874624.0, "rss_after": 160514048.0, "checksum": 1379.0, "retained": 0.0, "peak_rss": 160923648, "rep": 6, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.012929708000001483, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9827919999999999, "user_us": 975.0, "system_us": 13.0, "rss_before": 22544384.0, "rss_after": 22740992.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23789568, "rep": 0, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.1869926669999984, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.68, "user_us": 154578.0, "system_us": 8156.0, "rss_before": 46858240.0, "rss_after": 132481024.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 132890624, "rep": 0, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.01295429200000342, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9837500000000006, "user_us": 976.0, "system_us": 10.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 0, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2667253750000071, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1208.719125, "user_us": 1194555.0, "system_us": 23009.0, "rss_before": 71909376.0, "rss_after": 165019648.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 218890240, "rep": 0, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.014913500000005797, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9792919999999992, "user_us": 976.0, "system_us": 9.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 1, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013164291999999023, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9841660000000001, "user_us": 980.0, "system_us": 8.0, "rss_before": 22544384.0, "rss_after": 22740992.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23789568, "rep": 1, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2711592500000108, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1209.069417, "user_us": 1195116.0, "system_us": 23587.0, "rss_before": 71909376.0, "rss_after": 165036032.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 217710592, "rep": 1, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.19036058300000036, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 162.0715, "user_us": 154832.0, "system_us": 10660.0, "rss_before": 46858240.0, "rss_after": 169885696.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 170295296, "rep": 1, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.01295337500000926, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9852910000000001, "user_us": 979.0, "system_us": 10.0, "rss_before": 22544384.0, "rss_after": 22740992.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23789568, "rep": 2, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.012936624999994706, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9777079999999998, "user_us": 975.0, "system_us": 10.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 2, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.18978095800000006, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 161.843792, "user_us": 155038.0, "system_us": 9978.0, "rss_before": 46891008.0, "rss_after": 160579584.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 160989184, "rep": 2, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2541124999999909, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1198.193917, "user_us": 1193093.0, "system_us": 14678.0, "rss_before": 71909376.0, "rss_after": 105021440.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 209616896, "rep": 2, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.1900858750000083, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 161.830792, "user_us": 154735.0, "system_us": 10323.0, "rss_before": 46858240.0, "rss_after": 160530432.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 160940032, "rep": 3, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013001250000002074, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9811670000000001, "user_us": 975.0, "system_us": 11.0, "rss_before": 22528000.0, "rss_after": 22724608.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23773184, "rep": 3, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2651477080000006, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1207.3017080000002, "user_us": 1194565.0, "system_us": 22599.0, "rss_before": 71892992.0, "rss_after": 164986880.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 222429184, "rep": 3, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013190082999997799, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9835409999999998, "user_us": 978.0, "system_us": 10.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 3, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.18982704100000092, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 161.852958, "user_us": 154847.0, "system_us": 10208.0, "rss_before": 46891008.0, "rss_after": 166150144.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 166559744, "rep": 4, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2650707919999888, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1205.747084, "user_us": 1194719.0, "system_us": 21102.0, "rss_before": 71925760.0, "rss_after": 165167104.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 228884480, "rep": 4, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.016114166999997792, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9798749999999998, "user_us": 975.0, "system_us": 8.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 4, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.01451666699999521, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.002542, "user_us": 982.0, "system_us": 24.0, "rss_before": 22528000.0, "rss_after": 22724608.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23773184, "rep": 4, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.19214391699999567, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 161.627042, "user_us": 154376.0, "system_us": 10469.0, "rss_before": 46940160.0, "rss_after": 168050688.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 168460288, "rep": 5, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013183709000003319, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9869169999999992, "user_us": 983.0, "system_us": 11.0, "rss_before": 22544384.0, "rss_after": 22740992.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23789568, "rep": 5, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013117540999999733, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9795409999999993, "user_us": 976.0, "system_us": 8.0, "rss_before": 22544384.0, "rss_after": 22740992.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23789568, "rep": 5, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2716712919999935, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1209.413583, "user_us": 1194768.0, "system_us": 24109.0, "rss_before": 71892992.0, "rss_after": 165101568.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 214155264, "rep": 5, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 1.2568222080000027, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1198.639667, "user_us": 1192860.0, "system_us": 15357.0, "rss_before": 71860224.0, "rss_after": 124747776.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 228327424, "rep": 6, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013063166999998543, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9824999999999999, "user_us": 979.0, "system_us": 7.0, "rss_before": 22528000.0, "rss_after": 22724608.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23773184, "rep": 6, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.013068250000003445, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9803749999999996, "user_us": 976.0, "system_us": 9.0, "rss_before": 22560768.0, "rss_after": 22757376.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 23805952, "rep": 6, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.18699354199999618, "iterations": 2763, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 159.531, "user_us": 154716.0, "system_us": 7917.0, "rss_before": 46923776.0, "rss_after": 134365184.0, "checksum": 2771.0, "retained": 0.0, "peak_rss": 134774784, "rep": 6, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.030459874999991143, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.545042000000002, "user_us": 7547.0, "system_us": 567.0, "rss_before": 39305216.0, "rss_after": 46399488.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46809088, "rep": 0, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05623262500000692, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.237542000000001, "user_us": 5848.0, "system_us": 297.0, "rss_before": 66076672.0, "rss_after": 71172096.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71942144, "rep": 0, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.036338749999998754, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.306582999999996, "user_us": 24153.0, "system_us": 157.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 0, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.034619874999989975, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.758875, "user_us": 22687.0, "system_us": 77.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 0, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.034374208999992106, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.58575, "user_us": 22553.0, "system_us": 36.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 1, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03496091600000284, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.192834, "user_us": 23140.0, "system_us": 59.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 1, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03018149999999764, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.275417000000001, "user_us": 7287.0, "system_us": 538.0, "rss_before": 39305216.0, "rss_after": 46432256.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46841856, "rep": 1, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.055919708000004675, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.332540999999999, "user_us": 5988.0, "system_us": 302.0, "rss_before": 66125824.0, "rss_after": 71237632.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71892992, "rep": 1, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.030536915999988423, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.274084000000002, "user_us": 7266.0, "system_us": 539.0, "rss_before": 39305216.0, "rss_after": 46399488.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46809088, "rep": 2, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0343698750000101, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.5215, "user_us": 22496.0, "system_us": 30.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 2, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03683420900000556, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.919875, "user_us": 24891.0, "system_us": 35.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 2, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05677808400000117, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.3288340000000005, "user_us": 5996.0, "system_us": 283.0, "rss_before": 66011136.0, "rss_after": 71106560.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71860224, "rep": 2, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03494075000000407, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.938459, "user_us": 22907.0, "system_us": 36.0, "rss_before": 22298624.0, "rss_after": 22380544.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23494656, "rep": 3, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.030345292000006907, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.2101250000000014, "user_us": 7211.0, "system_us": 441.0, "rss_before": 39321600.0, "rss_after": 46415872.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46825472, "rep": 3, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05561966700000198, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.337250000000001, "user_us": 5998.0, "system_us": 283.0, "rss_before": 65994752.0, "rss_after": 71057408.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71811072, "rep": 3, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.033430125000009525, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 21.40175, "user_us": 21364.0, "system_us": 42.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 3, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05595549999999605, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.355459, "user_us": 6030.0, "system_us": 314.0, "rss_before": 66027520.0, "rss_after": 71139328.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71892992, "rep": 4, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03648987500000089, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 24.430957999999997, "user_us": 24396.0, "system_us": 38.0, "rss_before": 22331392.0, "rss_after": 22413312.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23527424, "rep": 4, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03507508299999529, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.247208, "user_us": 23206.0, "system_us": 45.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 4, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03027358299999605, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.242334, "user_us": 7257.0, "system_us": 478.0, "rss_before": 39272448.0, "rss_after": 46399488.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46809088, "rep": 4, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0353379579999995, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.321708, "user_us": 23266.0, "system_us": 60.0, "rss_before": 22331392.0, "rss_after": 22413312.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23527424, "rep": 5, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05643145899999524, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.293834, "user_us": 5963.0, "system_us": 311.0, "rss_before": 66011136.0, "rss_after": 71106560.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71860224, "rep": 5, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.030500000000003524, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.263207999999999, "user_us": 7265.0, "system_us": 508.0, "rss_before": 39288832.0, "rss_after": 46415872.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46825472, "rep": 5, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03460541699999453, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.621665999999998, "user_us": 22612.0, "system_us": 15.0, "rss_before": 22298624.0, "rss_after": 22380544.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23494656, "rep": 5, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03414295800000389, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 22.329541, "user_us": 22303.0, "system_us": 31.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 6, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.05651600000000201, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.34675, "user_us": 6026.0, "system_us": 289.0, "rss_before": 66060288.0, "rss_after": 71172096.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 71925760, "rep": 6, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03605783400000462, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 23.83225, "user_us": 23817.0, "system_us": 18.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 23511040, "rep": 6, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.030322208000001183, "iterations": 2000000, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 4.246791999999999, "user_us": 7261.0, "system_us": 486.0, "rss_before": 39305216.0, "rss_after": 46399488.0, "checksum": 936039744144.0, "retained": 0.0, "peak_rss": 46809088, "rep": 6, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/verify.jsonl new file mode 100644 index 0000000000..81c4eedc13 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/verify.jsonl @@ -0,0 +1,100 @@ +{"exit_code": 0, "process_wall_s": 0.8115486249999999, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.002041999999999433, "user_us": 4.0, "system_us": 1.0, "rss_before": 12484608.0, "rss_after": 12566528.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 13713408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.062082583999999996, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.004000000000001336, "user_us": 374.0, "system_us": 34.0, "rss_before": 54951936.0, "rss_after": 55410688.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 56393728, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.020169957999999988, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0013330000000006947, "user_us": 3.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 30130176, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4886168329999999, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.007125000000002046, "user_us": 14.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.020389750000000095, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.00879099999999955, "user_us": 12.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.054204750000000024, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.005667000000002531, "user_us": 331.0, "system_us": 31.0, "rss_before": 54935552.0, "rss_after": 55410688.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 56393728, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01923291700000007, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0030420000000006553, "user_us": 5.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29671424.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 30097408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009268374999999995, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.004249999999999865, "user_us": 6.0, "system_us": 1.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009062249999999938, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.004957999999999796, "user_us": 7.0, "system_us": 4.0, "rss_before": 12484608.0, "rss_after": 12566528.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13713408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04059587499999995, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.006375000000000242, "user_us": 324.0, "system_us": 34.0, "rss_before": 54951936.0, "rss_after": 55427072.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 56426496, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.019496584000000095, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0035829999999990036, "user_us": 5.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29671424.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 30097408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009264791999999966, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.00495800000000024, "user_us": 7.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009070749999999794, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0010830000000003892, "user_us": 3.0, "system_us": 5.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.043186167, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.006375000000000242, "user_us": 328.0, "system_us": 40.0, "rss_before": 54919168.0, "rss_after": 55410688.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 56410112, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.019544000000000006, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.003375000000000128, "user_us": 5.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 30146560, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.00925204199999996, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.001082999999999501, "user_us": 3.0, "system_us": 3.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13746176, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009015916000000068, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00025000000000030553, "user_us": 6.0, "system_us": 0.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 13664256, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04402366599999996, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0017499999999994742, "user_us": 323.0, "system_us": 42.0, "rss_before": 54755328.0, "rss_after": 55246848.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 56393728, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.019392375000000017, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0009579999999989042, "user_us": 3.0, "system_us": 2.0, "rss_before": 29589504.0, "rss_after": 29622272.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 30130176, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009146166999999927, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00029100000000026327, "user_us": 2.0, "system_us": 4.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 13680640, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.047614207999998825, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.7027499999999982, "user_us": 1546.0, "system_us": 160.0, "rss_before": 36945920.0, "rss_after": 40255488.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 63782912, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "bc7a5184d1cfe8bc35c759a06ab724b40e9fe2118f796accd20d61de02b7c302", "correct": true, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.11450770900000151, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 5.517500000000005, "user_us": 5758.0, "system_us": 296.0, "rss_before": 78118912.0, "rss_after": 81838080.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 108003328, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "bc7a5184d1cfe8bc35c759a06ab724b40e9fe2118f796accd20d61de02b7c302", "correct": true, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.07540704199999837, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 4.226125, "user_us": 4032.0, "system_us": 202.0, "rss_before": 51331072.0, "rss_after": 54771712.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 74989568, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "bc7a5184d1cfe8bc35c759a06ab724b40e9fe2118f796accd20d61de02b7c302", "correct": true, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.04546016600000158, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.7063749999999995, "user_us": 1545.0, "system_us": 165.0, "rss_before": 36962304.0, "rss_after": 40271872.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 63799296, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "bc7a5184d1cfe8bc35c759a06ab724b40e9fe2118f796accd20d61de02b7c302", "correct": true, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.04938387500000019, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.0354589999999995, "user_us": 5412.0, "system_us": 628.0, "rss_before": 36945920.0, "rss_after": 48365568.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 79659008, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "43dce071d78735cc79d67b1bb80e8a84b9acbbf45cee61c862f2206eb0c9fb3a", "correct": true, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.12465525, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 18.8545, "user_us": 20275.0, "system_us": 480.0, "rss_before": 78135296.0, "rss_after": 82313216.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 107528192, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "43dce071d78735cc79d67b1bb80e8a84b9acbbf45cee61c862f2206eb0c9fb3a", "correct": true, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.08612770799999936, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 14.815000000000001, "user_us": 14097.0, "system_us": 728.0, "rss_before": 51363840.0, "rss_after": 63307776.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 78430208, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "43dce071d78735cc79d67b1bb80e8a84b9acbbf45cee61c862f2206eb0c9fb3a", "correct": true, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.04989370900000267, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.037333999999998, "user_us": 5405.0, "system_us": 637.0, "rss_before": 36962304.0, "rss_after": 48381952.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 79495168, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "43dce071d78735cc79d67b1bb80e8a84b9acbbf45cee61c862f2206eb0c9fb3a", "correct": true, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.051308166999998406, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 7.7066669999999995, "user_us": 6939.0, "system_us": 772.0, "rss_before": 36945920.0, "rss_after": 51560448.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 78725120, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.13492204199999946, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 24.427791999999997, "user_us": 25725.0, "system_us": 524.0, "rss_before": 78069760.0, "rss_after": 82313216.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 108511232, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.09028287500000332, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 19.084833999999997, "user_us": 18106.0, "system_us": 989.0, "rss_before": 51331072.0, "rss_after": 66666496.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 80117760, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0514842499999979, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 7.724042000000001, "user_us": 6953.0, "system_us": 775.0, "rss_before": 36945920.0, "rss_after": 51576832.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 78741504, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.051252458000000445, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 7.775375, "user_us": 6934.0, "system_us": 846.0, "rss_before": 36945920.0, "rss_after": 51560448.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 78725120, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.13451662499999983, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 23.979458000000008, "user_us": 25290.0, "system_us": 473.0, "rss_before": 78135296.0, "rss_after": 82411520.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 108527616, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.09017345799999887, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 19.000625000000003, "user_us": 18088.0, "system_us": 923.0, "rss_before": 51331072.0, "rss_after": 66666496.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 80052224, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.051853540999999836, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 7.8834170000000015, "user_us": 7033.0, "system_us": 853.0, "rss_before": 36962304.0, "rss_after": 51576832.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 78757888, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "82919bae0ea95fd65efd8c1a2587971569e399839c548e46236820f60ccf3fd0", "correct": true, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03244341699999964, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00020799999999976393, "user_us": 3.0, "system_us": 1.0, "rss_before": 22478848.0, "rss_after": 22560768.0, "checksum": 15106149.0, "retained": 0.0, "peak_rss": 58507264, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.08418466699999883, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0017499999999976978, "user_us": 420.0, "system_us": 53.0, "rss_before": 65077248.0, "rss_after": 65536000.0, "checksum": 15106149.0, "retained": 0.0, "peak_rss": 100220928, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.05173804100000012, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0009999999999994458, "user_us": 3.0, "system_us": 2.0, "rss_before": 37076992.0, "rss_after": 37109760.0, "checksum": 15106149.0, "retained": 0.0, "peak_rss": 60063744, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.0325312079999982, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00020799999999976393, "user_us": 3.0, "system_us": 2.0, "rss_before": 22495232.0, "rss_after": 22577152.0, "checksum": 15106149.0, "retained": 0.0, "peak_rss": 58507264, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "714b06de9dc83b98cf85e204d09aed4ec58914d305589c04272c7b06a86de4f5", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "records_array_1m", "bytes": 888597} +{"exit_code": 0, "process_wall_s": 0.03139445800000118, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.29870799999999953, "user_us": 182.0, "system_us": 120.0, "rss_before": 31997952.0, "rss_after": 34226176.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 68386816, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", "correct": true, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.06578241599999757, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.8505830000000003, "user_us": 1239.0, "system_us": 190.0, "rss_before": 72695808.0, "rss_after": 74203136.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 105398272, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", "correct": true, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.032181582999996294, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.2570409999999992, "user_us": 127.0, "system_us": 141.0, "rss_before": 46858240.0, "rss_after": 48988160.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 65241088, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", "correct": true, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02862729099999939, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.2947919999999984, "user_us": 183.0, "system_us": 116.0, "rss_before": 31997952.0, "rss_after": 34226176.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 68386816, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", "correct": true, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.0295747080000055, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.022292000000002, "user_us": 632.0, "system_us": 399.0, "rss_before": 31997952.0, "rss_after": 39550976.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 74448896, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", "correct": true, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.06916183300000256, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.0117499999999993, "user_us": 3241.0, "system_us": 322.0, "rss_before": 72728576.0, "rss_after": 76464128.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 97419264, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", "correct": true, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03230504200000439, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.8819999999999997, "user_us": 465.0, "system_us": 424.0, "rss_before": 46841856.0, "rss_after": 54214656.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 65273856, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", "correct": true, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02977804200000378, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.0088749999999997, "user_us": 627.0, "system_us": 386.0, "rss_before": 32014336.0, "rss_after": 39567360.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 74481664, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", "correct": true, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.029606666999995923, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.3427500000000006, "user_us": 808.0, "system_us": 539.0, "rss_before": 31981568.0, "rss_after": 41664512.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 75251712, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.06982833299999669, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.614459, "user_us": 3905.0, "system_us": 324.0, "rss_before": 72679424.0, "rss_after": 76316672.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 98402304, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03234725000000083, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.0452909999999989, "user_us": 554.0, "system_us": 501.0, "rss_before": 46874624.0, "rss_after": 56360960.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 65241088, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.029825916999996593, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.374916999999999, "user_us": 806.0, "system_us": 575.0, "rss_before": 32014336.0, "rss_after": 41697280.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 75268096, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.026790249999997684, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.003957999999999906, "user_us": 6.0, "system_us": 2.0, "rss_before": 24510464.0, "rss_after": 24592384.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 57688064, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.0711155409999975, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 3.6580830000000013, "user_us": 3862.0, "system_us": 331.0, "rss_before": 72777728.0, "rss_after": 76431360.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 98467840, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.03241574999999841, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 1.0641669999999994, "user_us": 539.0, "system_us": 532.0, "rss_before": 46874624.0, "rss_after": 56344576.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 65208320, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.02697216700000382, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.003832999999999309, "user_us": 6.0, "system_us": 1.0, "rss_before": 24543232.0, "rss_after": 24625152.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 57704448, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "correct": true, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025812209000001474, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0003329999999994726, "user_us": 3.0, "system_us": 2.0, "rss_before": 24281088.0, "rss_after": 24363008.0, "checksum": 17826098.0, "retained": 0.0, "peak_rss": 55558144, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.06099395800000451, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0017919999999982394, "user_us": 384.0, "system_us": 45.0, "rss_before": 65323008.0, "rss_after": 65847296.0, "checksum": 17826098.0, "retained": 0.0, "peak_rss": 97091584, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.029551874999995675, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0009160000000001389, "user_us": 4.0, "system_us": 8.0, "rss_before": 38371328.0, "rss_after": 38404096.0, "checksum": 17826098.0, "retained": 0.0, "peak_rss": 55754752, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.025539041999998346, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00012500000000059686, "user_us": 3.0, "system_us": 2.0, "rss_before": 24313856.0, "rss_after": 24395776.0, "checksum": 17826098.0, "retained": 0.0, "peak_rss": 55574528, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "0d256c5346b53e2d37664e231298171ffb527db895ecd0207b308f2966dbbcba", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "long_string_1m", "bytes": 1048594} +{"exit_code": 0, "process_wall_s": 0.05226579200000003, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.8787920000000007, "user_us": 1795.0, "system_us": 88.0, "rss_before": 30785536.0, "rss_after": 32489472.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 61767680, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", "correct": true, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.10610229200000276, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.5431659999999994, "user_us": 3880.0, "system_us": 168.0, "rss_before": 69812224.0, "rss_after": 71761920.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 100417536, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", "correct": true, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.08457533300000364, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 4.209167000000001, "user_us": 4104.0, "system_us": 113.0, "rss_before": 46088192.0, "rss_after": 47677440.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 63389696, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", "correct": true, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.049351167000004637, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.881124999999999, "user_us": 1805.0, "system_us": 80.0, "rss_before": 30801920.0, "rss_after": 32505856.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 61784064, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", "correct": true, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.054197750000000156, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.556000000000003, "user_us": 6280.0, "system_us": 280.0, "rss_before": 30769152.0, "rss_after": 36421632.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 65617920, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", "correct": true, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.114285584000001, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 12.447249999999997, "user_us": 12574.0, "system_us": 432.0, "rss_before": 69844992.0, "rss_after": 74940416.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 102039552, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", "correct": true, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.09592616700000178, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 14.717583000000005, "user_us": 14377.0, "system_us": 347.0, "rss_before": 46088192.0, "rss_after": 51560448.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 67321856, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", "correct": true, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05463387500000039, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 6.576584, "user_us": 6298.0, "system_us": 283.0, "rss_before": 30785536.0, "rss_after": 36438016.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 65634304, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", "correct": true, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05918295899999748, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 8.451792, "user_us": 8091.0, "system_us": 364.0, "rss_before": 30785536.0, "rss_after": 38027264.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66945024, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.12071995800000224, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 15.793833, "user_us": 15940.0, "system_us": 390.0, "rss_before": 69877760.0, "rss_after": 74956800.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 102432768, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.09978987499999903, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 18.898833999999997, "user_us": 18465.0, "system_us": 443.0, "rss_before": 46088192.0, "rss_after": 53084160.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66830336, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05914516700000405, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 8.520458, "user_us": 8107.0, "system_us": 421.0, "rss_before": 30801920.0, "rss_after": 38043648.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66961408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.05896716699999871, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 8.415709000000001, "user_us": 8037.0, "system_us": 384.0, "rss_before": 30785536.0, "rss_after": 38027264.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66945024, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.1181951669999961, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 15.751667000000005, "user_us": 15850.0, "system_us": 414.0, "rss_before": 69976064.0, "rss_after": 74989568.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 102449152, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.09989620900000062, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 19.109083, "user_us": 18449.0, "system_us": 669.0, "rss_before": 46120960.0, "rss_after": 53116928.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66895872, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.059086458000003006, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 8.403708, "user_us": 8035.0, "system_us": 373.0, "rss_before": 30785536.0, "rss_after": 38027264.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 66961408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", "correct": true, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.037569374999996796, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0003329999999994726, "user_us": 3.0, "system_us": 2.0, "rss_before": 23445504.0, "rss_after": 23527424.0, "checksum": 16830306.0, "retained": 0.0, "peak_rss": 50135040, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.08664666699999657, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.001917000000002389, "user_us": 396.0, "system_us": 34.0, "rss_before": 65716224.0, "rss_after": 66174976.0, "checksum": 16830306.0, "retained": 0.0, "peak_rss": 93569024, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.060854249999998444, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0008330000000000837, "user_us": 4.0, "system_us": 3.0, "rss_before": 37814272.0, "rss_after": 37847040.0, "checksum": 16830306.0, "retained": 0.0, "peak_rss": 54591488, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.03732529200000556, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0003330000000003608, "user_us": 2.0, "system_us": 1.0, "rss_before": 23478272.0, "rss_after": 23560192.0, "checksum": 16830306.0, "retained": 0.0, "peak_rss": 50167808, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "e59a7fd84593e6a02b3488dfa02b24e5aab4f50ed5b52855d34a905ba65c7b26", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "escaped_1m", "bytes": 990018} +{"exit_code": 0, "process_wall_s": 0.042870624999991946, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.3541250000000016, "user_us": 268.0, "system_us": 91.0, "rss_before": 28737536.0, "rss_after": 30588928.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 57655296, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", "correct": true, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.08770850000000507, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.9790829999999993, "user_us": 1347.0, "system_us": 139.0, "rss_before": 71909376.0, "rss_after": 74235904.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 95109120, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", "correct": true, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.064648209000012, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.2066250000000025, "user_us": 114.0, "system_us": 102.0, "rss_before": 46874624.0, "rss_after": 48775168.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 66699264, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", "correct": true, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0407486250000062, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.3811250000000008, "user_us": 268.0, "system_us": 121.0, "rss_before": 28770304.0, "rss_after": 30621696.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 57671680, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", "correct": true, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.04166874999999948, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.2811250000000012, "user_us": 954.0, "system_us": 333.0, "rss_before": 28753920.0, "rss_after": 34160640.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 61210624, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", "correct": true, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0904040829999957, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 3.3337080000000014, "user_us": 3584.0, "system_us": 292.0, "rss_before": 71843840.0, "rss_after": 75120640.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 96075776, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", "correct": true, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.06608045900000548, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.7550000000000026, "user_us": 381.0, "system_us": 382.0, "rss_before": 46874624.0, "rss_after": 53460992.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 68648960, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", "correct": true, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0417553340000012, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.280125, "user_us": 935.0, "system_us": 350.0, "rss_before": 28770304.0, "rss_after": 34177024.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 61227008, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", "correct": true, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.04203341699999896, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.6633749999999994, "user_us": 1210.0, "system_us": 458.0, "rss_before": 28753920.0, "rss_after": 35930112.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 62095360, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.09363095800000565, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 4.16675, "user_us": 4451.0, "system_us": 264.0, "rss_before": 71827456.0, "rss_after": 75153408.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 96960512, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.06619958400000314, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.9745829999999991, "user_us": 501.0, "system_us": 484.0, "rss_before": 46858240.0, "rss_after": 55312384.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 68632576, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.042151958999994577, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 1.6240409999999992, "user_us": 1204.0, "system_us": 427.0, "rss_before": 28770304.0, "rss_after": 35946496.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 62111744, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.038787083000002553, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0040829999999987265, "user_us": 6.0, "system_us": 3.0, "rss_before": 22544384.0, "rss_after": 22626304.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 49676288, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.0923039169999953, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 4.197959000000001, "user_us": 4444.0, "system_us": 309.0, "rss_before": 71761920.0, "rss_after": 75087872.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 96894976, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.06633662500000526, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.9334999999999987, "user_us": 482.0, "system_us": 460.0, "rss_before": 46891008.0, "rss_after": 55361536.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 68599808, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03894462499999918, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.004042000000000101, "user_us": 10.0, "system_us": 2.0, "rss_before": 22560768.0, "rss_after": 22642688.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 49692672, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "correct": true, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03686216700000955, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0003329999999994726, "user_us": 3.0, "system_us": 2.0, "rss_before": 22315008.0, "rss_after": 22396928.0, "checksum": 7956306.0, "retained": 0.0, "peak_rss": 47890432, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.08109608399999502, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0020000000000024443, "user_us": 439.0, "system_us": 49.0, "rss_before": 66076672.0, "rss_after": 66519040.0, "checksum": 7956306.0, "retained": 0.0, "peak_rss": 88489984, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.060838874999987524, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.001041999999998211, "user_us": 4.0, "system_us": 3.0, "rss_before": 39288832.0, "rss_after": 39321600.0, "checksum": 7956306.0, "retained": 0.0, "peak_rss": 56393728, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "unicode_1m", "bytes": 884018} +{"exit_code": 0, "process_wall_s": 0.03674883300000431, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.000290999999998931, "user_us": 3.0, "system_us": 2.0, "rss_before": 22331392.0, "rss_after": 22413312.0, "checksum": 7956306.0, "retained": 0.0, "peak_rss": 47906816, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "d85d50213ad4bf6ea651a843778e2e0269138f1201f8591682bef8dff1384b6d", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "unicode_1m", "bytes": 884018} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/window.json new file mode 100644 index 0000000000..d1620d718d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/window.json @@ -0,0 +1,38 @@ +{ + "owner": "json-perf-11903-1789116453", + "load_before": [ + 1.646484375, + 1.83740234375, + 1.76171875 + ], + "started_utc": "2026-09-11T08:47:33Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-rotating.py", + "--worker", + ".work/zero-spacing-r25/candidate-rotating-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-rotating-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--filter", + "unicode_1m,long_string_1m,escaped_1m,small_record,records_array_1m", + "--repeat", + "7", + "--source-commit", + "01f2878dad8efc92e394c49b88fe0800b871f593", + "--results-dir", + "results/quiet-zero-spacing-r25-rotating" + ], + "competing_workloads_before": [], + "load_after": [ + 1.83642578125, + 1.86328125, + 1.7763671875 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:49:16Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/calibration.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/calibration.jsonl new file mode 100644 index 0000000000..b5c5922ac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/calibration.jsonl @@ -0,0 +1,12 @@ +{"exit_code": 0, "process_wall_s": 0.012577750000000054, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.9806249999999999, "user_us": 965.0, "system_us": 22.0, "rss_before": 13451264.0, "rss_after": 13926400.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 14991360, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04905037500000009, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.855042000000001, "user_us": 1731.0, "system_us": 131.0, "rss_before": 60325888.0, "rss_after": 62078976.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 62734336, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.022055791999999963, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.5207920000000001, "user_us": 497.0, "system_us": 28.0, "rss_before": 30818304.0, "rss_after": 31244288.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 31653888, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01255974999999998, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 0.9509160000000003, "user_us": 932.0, "system_us": 24.0, "rss_before": 13467648.0, "rss_after": 13942784.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 15007744, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.010264207999998831, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.21079200000000053, "user_us": 185.0, "system_us": 31.0, "rss_before": 13008896.0, "rss_after": 13303808.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 14368768, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.046711207999999615, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.9062079999999995, "user_us": 1479.0, "system_us": 105.0, "rss_before": 60391424.0, "rss_after": 61702144.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 62373888, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.021221749999998707, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.5050410000000003, "user_us": 489.0, "system_us": 20.0, "rss_before": 30834688.0, "rss_after": 31260672.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 31670272, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009908375000000191, "iterations": 2000, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 0.18941699999999972, "user_us": 179.0, "system_us": 12.0, "rss_before": 13025280.0, "rss_after": 13320192.0, "checksum": 7000.0, "retained": 0.0, "peak_rss": 14385152, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009594207999999327, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.018915999999999933, "user_us": 21.0, "system_us": 1.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 13434880, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04285329100000013, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.007540999999999798, "user_us": 469.0, "system_us": 52.0, "rss_before": 54804480.0, "rss_after": 55623680.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 56410112, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01953558299999969, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.020291999999999533, "user_us": 21.0, "system_us": 1.0, "rss_before": 29786112.0, "rss_after": 29818880.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 30212096, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009257332999997203, "iterations": 2000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 0.01895800000000003, "user_us": 24.0, "system_us": 1.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 763000.0, "retained": 0.0, "peak_rss": 13434880, "engine": "baseline", "fixture": "small_record", "bytes": 109} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller.log new file mode 100644 index 0000000000..b4d430c955 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller.log @@ -0,0 +1,6 @@ +VERIFY small_record rotating all engines passed +VERIFY small_record same all engines passed +VERIFY small_record select all engines passed +TIMING small_record rotating 571428 calls per engine +TIMING small_record same 1570680 calls per engine +TIMING small_record select 2000000 calls per engine diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/host.json new file mode 100644 index 0000000000..bed9465982 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/host.json @@ -0,0 +1,65 @@ +{ + "started_utc": "2026-09-11T08:50:13Z", + "load_before": [ + 1.51708984375, + 1.7626953125, + 1.7421875 + ], + "host": "perry-macos.fritz.box", + "cpu": "Apple M1", + "memory": 8589934592, + "worker_sha256": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "fixtures": [ + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + } + ], + "baseline_worker_sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "engines": [ + "perry", + "node", + "bun", + "baseline" + ], + "verification_counts_by_mode": { + "rotating": [ + 2, + 7, + 9 + ], + "same": [ + 9 + ], + "select": [ + 9 + ] + }, + "source_sha256": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + "commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "versions": { + "node": "v26.5.1", + "bun": "1.3.14" + }, + "load_after": [ + 1.8125, + 1.8017578125, + 1.7568359375 + ], + "finished_utc": "2026-09-11T08:50:41Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/measure-small-rotating-recheck.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/measure-small-rotating-recheck.py new file mode 100644 index 0000000000..6fd87179e7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/measure-small-rotating-recheck.py @@ -0,0 +1,44 @@ +from pathlib import Path +import argparse, json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +p = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +parser = argparse.ArgumentParser() +parser.add_argument('phase', choices=['access', 'focus', 'options', 'rotating', 'retained']) +kind = parser.parse_args().phase +assert kind == 'rotating' +worker = {'access': 'access-worker', 'rotating': 'rotating-worker', 'options': 'options'}.get(kind, 'worker') +cmd = ['python3', p + 'run-' + kind + '.py', '--worker', p + 'candidate-' + worker, + '--baseline-worker', p + 'main-' + worker, '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +if kind == 'focus': + cases = ['records_array_16k:scan:4000:8:7', 'records_array_1m:scan:200:2:7', + 'records_array_8m:scan:32:1:7', 'records_array_20m:scan:16:1:7', + 'records_array_20m:roundtrip:8:1:7', 'records_array_1m:parse:200:8:7', + 'records_array_1m:stringify:256:8:7', 'small_record:parse:2000000:5000:7', + 'small_record:stringify:10000000:5000:7', 'long_string_1m:stringify:4096:8:7', + 'null:stringify:20000000:5000:7', 'string_a:stringify:20000000:5000:7', + 'empty_object:stringify:10000000:5000:7', 'tiny_object:stringify:10000000:5000:7', + 'object_1k:stringify:2000000:5000:7'] + for case in cases: + cmd += ['--case', case] +elif kind == 'rotating': + cmd += ['--filter', 'small_record', + '--repeat', '11', '--source-commit', json.loads((w / 'provenance.json').read_text())['source_commit']] +slug = 'quiet-' + w.name + '-small-recheck-' + kind +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +command_file = w / ('remote-small-recheck-' + kind + '-command.json') +log_file = w / ('remote-small-recheck-' + kind + '.log') +command_file.write_text(json.dumps(invocation, indent=2) + '\n') +with log_file.open('wb') as log: + result = subprocess.run(['ssh', 'perry@perry-macos.local', 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], + stdout=log, stderr=subprocess.STDOUT) +print(log_file.read_text(), flush=True) +# Preserve every terminal window before any other remote operation, including failures. +subprocess.run(['python3', str(w / 'archive-results.py'), slug, kind, '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for source in [command_file, log_file, w / 'remote-stage-hashes.json', Path(__file__)]: + shutil.copy2(source, d / source.name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-after.txt new file mode 100644 index 0000000000..66fb6ab532 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-after.txt @@ -0,0 +1,567 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.1 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.2 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.4 /usr/sbin/bluetoothd + 161 0.6 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 8.2 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.7 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 3.3 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.3 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.1 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +13086 0.0 sshd-session: perry [priv] +13087 0.0 +13089 0.0 sshd-session: perry@notty +13090 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python +13425 0.0 ps +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 6.0 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.6 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-before.txt new file mode 100644 index 0000000000..4837b3c312 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-before.txt @@ -0,0 +1,567 @@ + PID %CPU COMM + 1 1.0 /sbin/launchd + 94 0.7 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 5.2 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 1.2 /usr/sbin/bluetoothd + 161 1.0 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 9.6 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.3 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 1.1 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.5 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.6 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.3 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.3 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6121 0.0 /usr/libexec/remindd + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +13086 9.3 sshd-session: perry [priv] +13087 0.0 +13089 0.5 sshd-session: perry@notty +13090 9.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python +13091 0.0 ps +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 12.1 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.1 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating-command.json new file mode 100644 index 0000000000..5a6f213c10 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating-command.json @@ -0,0 +1,23 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-rotating.py", + "--worker", + ".work/zero-spacing-r25/candidate-rotating-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-rotating-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--filter", + "small_record", + "--repeat", + "11", + "--source-commit", + "01f2878dad8efc92e394c49b88fe0800b871f593", + "--results-dir", + "results/quiet-zero-spacing-r25-small-recheck-rotating" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating.log new file mode 100644 index 0000000000..a0b157362f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-13090-1789116613 load (1.51708984375, 1.7626953125, 1.7421875) +FINISHED custom load (1.8125, 1.8017578125, 1.7568359375) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/timing.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/timing.jsonl new file mode 100644 index 0000000000..06cb3039a4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/timing.jsonl @@ -0,0 +1,132 @@ +{"exit_code": 0, "process_wall_s": 0.29509820899999994, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.900417, "user_us": 281120.0, "system_us": 1786.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24223129200000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 194.934416, "user_us": 195244.0, "system_us": 893.0, "rss_before": 60243968.0, "rss_after": 62128128.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62799872, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16203291600000003, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.532958, "user_us": 142524.0, "system_us": 3879.0, "rss_before": 30851072.0, "rss_after": 83755008.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84164608, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29444399999999993, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.762917, "user_us": 280291.0, "system_us": 1476.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2952775839999999, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.64074999999997, "user_us": 280946.0, "system_us": 1701.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24311274999999988, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 194.338583, "user_us": 194646.0, "system_us": 881.0, "rss_before": 60407808.0, "rss_after": 62210048.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62865408, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29420858400000016, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.688542, "user_us": 280063.0, "system_us": 1620.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1614737500000003, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.7765, "user_us": 141889.0, "system_us": 3745.0, "rss_before": 30851072.0, "rss_after": 83689472.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84099072, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1622678340000001, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.936875, "user_us": 143049.0, "system_us": 3733.0, "rss_before": 30851072.0, "rss_after": 83673088.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84082688, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29443633300000016, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.94874999999996, "user_us": 280185.0, "system_us": 1769.0, "rss_before": 13484032.0, "rss_after": 33112064.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33570816, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23767170800000015, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 187.2495, "user_us": 187728.0, "system_us": 766.0, "rss_before": 60293120.0, "rss_after": 62291968.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62898176, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29500904100000014, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.461084, "user_us": 280798.0, "system_us": 1666.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.294858708, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.144084, "user_us": 280484.0, "system_us": 1667.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2950757079999997, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.37475, "user_us": 280380.0, "system_us": 2012.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1615196250000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.782, "user_us": 141808.0, "system_us": 3842.0, "rss_before": 30834688.0, "rss_after": 83656704.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84066304, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23774983299999963, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 190.425208, "user_us": 190783.0, "system_us": 881.0, "rss_before": 60293120.0, "rss_after": 62177280.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62783488, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16155762499999948, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.869834, "user_us": 142022.0, "system_us": 3640.0, "rss_before": 30834688.0, "rss_after": 83656704.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84066304, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2949940419999999, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.43841699999996, "user_us": 280733.0, "system_us": 1710.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29477216600000045, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.976542, "user_us": 280157.0, "system_us": 1828.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.23282191700000077, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 184.19650000000001, "user_us": 184756.0, "system_us": 716.0, "rss_before": 60178432.0, "rss_after": 62193664.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62799872, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1615293339999999, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.645791, "user_us": 141796.0, "system_us": 3715.0, "rss_before": 30851072.0, "rss_after": 83722240.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84131840, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24966208300000048, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 200.35120799999999, "user_us": 200827.0, "system_us": 737.0, "rss_before": 60522496.0, "rss_after": 62193664.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62865408, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29579941700000045, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.65916599999997, "user_us": 280662.0, "system_us": 2001.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.295006667, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.95837500000005, "user_us": 280273.0, "system_us": 1690.0, "rss_before": 13467648.0, "rss_after": 33112064.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33570816, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2954639170000002, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.50295900000003, "user_us": 280738.0, "system_us": 1780.0, "rss_before": 13484032.0, "rss_after": 33112064.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33570816, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2552024159999995, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 206.9305, "user_us": 206917.0, "system_us": 1112.0, "rss_before": 60866560.0, "rss_after": 62259200.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62881792, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2952017500000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.600625, "user_us": 280836.0, "system_us": 1775.0, "rss_before": 13451264.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16133770800000047, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.782083, "user_us": 141896.0, "system_us": 3689.0, "rss_before": 30851072.0, "rss_after": 83656704.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84066304, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29539170900000045, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.652583, "user_us": 280920.0, "system_us": 1737.0, "rss_before": 13451264.0, "rss_after": 33095680.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33554432, "rep": 7, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16153362500000057, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.76070800000002, "user_us": 141997.0, "system_us": 3619.0, "rss_before": 30867456.0, "rss_after": 83673088.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84082688, "rep": 7, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29477204199999996, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.298167, "user_us": 280338.0, "system_us": 1968.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 7, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2627242919999997, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 211.222792, "user_us": 211623.0, "system_us": 773.0, "rss_before": 60588032.0, "rss_after": 62128128.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62717952, "rep": 7, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2947915840000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 281.90866700000004, "user_us": 280245.0, "system_us": 1670.0, "rss_before": 13467648.0, "rss_after": 33112064.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33570816, "rep": 8, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29538574999999945, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.77670800000004, "user_us": 280599.0, "system_us": 2184.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 8, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16271404100000098, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.52491600000002, "user_us": 142578.0, "system_us": 3840.0, "rss_before": 30867456.0, "rss_after": 83640320.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84049920, "rep": 8, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24020370899999932, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 194.462333, "user_us": 194856.0, "system_us": 827.0, "rss_before": 60276736.0, "rss_after": 62095360.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62750720, "rep": 8, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.24801199999999923, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 199.54291600000002, "user_us": 199958.0, "system_us": 791.0, "rss_before": 60358656.0, "rss_after": 62259200.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62898176, "rep": 9, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16207266600000025, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 140.2545, "user_us": 142469.0, "system_us": 3575.0, "rss_before": 30867456.0, "rss_after": 83689472.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84099072, "rep": 9, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2951729169999986, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.63016700000003, "user_us": 280710.0, "system_us": 1927.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 9, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2948190000000004, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.106834, "user_us": 280433.0, "system_us": 1681.0, "rss_before": 13467648.0, "rss_after": 33079296.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33538048, "rep": 9, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.29519812499999887, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 282.539667, "user_us": 280759.0, "system_us": 1788.0, "rss_before": 13451264.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 10, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2957557089999998, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 283.092541, "user_us": 280995.0, "system_us": 2105.0, "rss_before": 13467648.0, "rss_after": 33062912.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 33521664, "rep": 10, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16146270800000018, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 139.52075, "user_us": 141757.0, "system_us": 3549.0, "rss_before": 30851072.0, "rss_after": 83640320.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 84049920, "rep": 10, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.2595255830000003, "iterations": 571428, "warmup": 5000, "operation": "parse", "mode": "rotating", "wall_ms": 212.65604199999999, "user_us": 212973.0, "system_us": 852.0, "rss_before": 60555264.0, "rss_after": 62210048.0, "checksum": 576428.0, "retained": 0.0, "peak_rss": 62832640, "rep": 10, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16680812500000108, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.40262499999997, "user_us": 151153.0, "system_us": 4255.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6088366670000003, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 561.354375, "user_us": 560665.0, "system_us": 2255.0, "rss_before": 60407808.0, "rss_after": 61865984.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62521344, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16717895799999916, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.24912500000002, "user_us": 151147.0, "system_us": 4108.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4006576250000009, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 379.048833, "user_us": 379872.0, "system_us": 4675.0, "rss_before": 30851072.0, "rss_after": 83329024.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83738624, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6208914170000011, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 572.8647080000001, "user_us": 572287.0, "system_us": 2155.0, "rss_before": 60473344.0, "rss_after": 61931520.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62554112, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16723633299999996, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.38729199999997, "user_us": 151361.0, "system_us": 4032.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16714833400000018, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.565416, "user_us": 151205.0, "system_us": 4366.0, "rss_before": 13041664.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4033218750000014, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 381.904792, "user_us": 382597.0, "system_us": 4767.0, "rss_before": 30851072.0, "rss_after": 83329024.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83738624, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16751904200000034, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.48250000000002, "user_us": 151246.0, "system_us": 4243.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5946321660000002, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 548.3691670000001, "user_us": 547657.0, "system_us": 2259.0, "rss_before": 60407808.0, "rss_after": 61898752.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62521344, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16738979199999982, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.43004200000001, "user_us": 151281.0, "system_us": 4149.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4012259999999994, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 379.58025000000004, "user_us": 380357.0, "system_us": 4710.0, "rss_before": 30867456.0, "rss_after": 83329024.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83738624, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16796000000000078, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.98175, "user_us": 151649.0, "system_us": 4336.0, "rss_before": 13008896.0, "rss_after": 81641472.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82264064, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16694766600000044, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.20675000000003, "user_us": 151153.0, "system_us": 4061.0, "rss_before": 13041664.0, "rss_after": 81657856.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82280448, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6256803750000017, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 575.906875, "user_us": 575305.0, "system_us": 2149.0, "rss_before": 60424192.0, "rss_after": 61882368.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62521344, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.40186600000000183, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 379.623541, "user_us": 380461.0, "system_us": 4715.0, "rss_before": 30851072.0, "rss_after": 83329024.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83738624, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.561954416999999, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 513.7876249999999, "user_us": 513230.0, "system_us": 2244.0, "rss_before": 60309504.0, "rss_after": 62029824.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62685184, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4025671250000009, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 380.599292, "user_us": 381427.0, "system_us": 4665.0, "rss_before": 30851072.0, "rss_after": 83345408.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83755008, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16790133299999965, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.913875, "user_us": 151247.0, "system_us": 4673.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16684887499999945, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.27845800000003, "user_us": 151206.0, "system_us": 4076.0, "rss_before": 13041664.0, "rss_after": 81641472.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82264064, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16700645799999947, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.407917, "user_us": 151240.0, "system_us": 4163.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.40087216600000275, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 379.381875, "user_us": 380266.0, "system_us": 4679.0, "rss_before": 30851072.0, "rss_after": 83345408.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83755008, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5574885829999978, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 509.560459, "user_us": 508943.0, "system_us": 2274.0, "rss_before": 60112896.0, "rss_after": 61882368.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62554112, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16760029199999948, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.55641599999998, "user_us": 151399.0, "system_us": 4164.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5671442499999984, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 519.972625, "user_us": 519033.0, "system_us": 2493.0, "rss_before": 60227584.0, "rss_after": 61833216.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62455808, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4035179169999985, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 381.562583, "user_us": 382593.0, "system_us": 4428.0, "rss_before": 30867456.0, "rss_after": 83378176.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83787776, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16782620899999756, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.80399999999997, "user_us": 151316.0, "system_us": 4491.0, "rss_before": 13008896.0, "rss_after": 81641472.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82264064, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1672588750000017, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.515125, "user_us": 151147.0, "system_us": 4373.0, "rss_before": 13041664.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.6197321669999987, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 573.0685, "user_us": 572200.0, "system_us": 2438.0, "rss_before": 60456960.0, "rss_after": 61882368.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62504960, "rep": 7, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16731720800000005, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.54533299999997, "user_us": 151284.0, "system_us": 4266.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 7, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16703979100000055, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.295042, "user_us": 151181.0, "system_us": 4119.0, "rss_before": 13041664.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 7, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.40127299999999977, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 379.861958, "user_us": 380491.0, "system_us": 4836.0, "rss_before": 30851072.0, "rss_after": 83312640.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83722240, "rep": 7, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5621814580000013, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 514.166375, "user_us": 513785.0, "system_us": 1973.0, "rss_before": 60243968.0, "rss_after": 61931520.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62603264, "rep": 8, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.4023743749999973, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 380.34895900000004, "user_us": 380909.0, "system_us": 4951.0, "rss_before": 30851072.0, "rss_after": 83312640.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83722240, "rep": 8, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16767516699999874, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.757417, "user_us": 151314.0, "system_us": 4449.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 8, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16759170799999978, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.77175000000003, "user_us": 151244.0, "system_us": 4532.0, "rss_before": 13025280.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 8, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16703779100000204, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.25308399999997, "user_us": 151148.0, "system_us": 4108.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 9, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.40205475000000135, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 380.5405, "user_us": 380968.0, "system_us": 5071.0, "rss_before": 30867456.0, "rss_after": 83329024.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83738624, "rep": 9, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16769587499999972, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.818375, "user_us": 151448.0, "system_us": 4374.0, "rss_before": 13008896.0, "rss_after": 81641472.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82264064, "rep": 9, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5771475829999986, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 528.590584, "user_us": 528231.0, "system_us": 1980.0, "rss_before": 60293120.0, "rss_after": 61915136.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62554112, "rep": 9, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.47710408299999685, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 454.977083, "user_us": 455577.0, "system_us": 4888.0, "rss_before": 30851072.0, "rss_after": 83312640.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 83722240, "rep": 10, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.1676238330000004, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.59650000000002, "user_us": 151258.0, "system_us": 4345.0, "rss_before": 13008896.0, "rss_after": 81608704.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82231296, "rep": 10, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.16742833300000015, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 155.61808299999998, "user_us": 151214.0, "system_us": 4410.0, "rss_before": 13025280.0, "rss_after": 81625088.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 82247680, "rep": 10, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.5843044589999984, "iterations": 1570680, "warmup": 5000, "operation": "parse", "mode": "same", "wall_ms": 535.3506659999999, "user_us": 534362.0, "system_us": 2587.0, "rss_before": 60325888.0, "rss_after": 61947904.0, "checksum": 1575680.0, "retained": 0.0, "peak_rss": 62570496, "rep": 10, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04797149999999917, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8069170000000003, "user_us": 5063.0, "system_us": 253.0, "rss_before": 54853632.0, "rss_after": 59916288.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60653568, "rep": 0, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023733875000001348, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.059875, "user_us": 6871.0, "system_us": 426.0, "rss_before": 29851648.0, "rss_after": 36618240.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37027840, "rep": 0, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02814333299999916, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.833833, "user_us": 18831.0, "system_us": 5.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 0, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027934125000001586, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.85375, "user_us": 18831.0, "system_us": 25.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 0, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023299750000003172, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.0124580000000005, "user_us": 6829.0, "system_us": 388.0, "rss_before": 29802496.0, "rss_after": 36569088.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36978688, "rep": 1, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028138874999999786, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.866041, "user_us": 18832.0, "system_us": 36.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 1, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02791466600000092, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.887375000000002, "user_us": 18866.0, "system_us": 23.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 1, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.048870499999999595, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8085829999999987, "user_us": 5061.0, "system_us": 246.0, "rss_before": 54820864.0, "rss_after": 59785216.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60522496, "rep": 1, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02376429200000274, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.050958000000001, "user_us": 6873.0, "system_us": 411.0, "rss_before": 29818880.0, "rss_after": 36585472.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36995072, "rep": 2, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04806375000000074, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8027499999999996, "user_us": 5065.0, "system_us": 259.0, "rss_before": 54886400.0, "rss_after": 59932672.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60719104, "rep": 2, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028265833000002516, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.852415999999998, "user_us": 18831.0, "system_us": 24.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 2, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02791295800000171, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.865624999999998, "user_us": 18834.0, "system_us": 33.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 2, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04939845800000242, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.817, "user_us": 5059.0, "system_us": 262.0, "rss_before": 54886400.0, "rss_after": 59899904.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60653568, "rep": 3, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028096041000001293, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.840875, "user_us": 18831.0, "system_us": 13.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 3, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027915957999997687, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.841584, "user_us": 18832.0, "system_us": 12.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 3, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02347462499999864, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.048459000000001, "user_us": 6876.0, "system_us": 410.0, "rss_before": 29884416.0, "rss_after": 36651008.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37060608, "rep": 3, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02813879099999994, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.874417, "user_us": 18832.0, "system_us": 45.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 4, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027794540999998674, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.846083, "user_us": 18830.0, "system_us": 18.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 4, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023648250000000814, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.023999999999999, "user_us": 6850.0, "system_us": 396.0, "rss_before": 29786112.0, "rss_after": 36552704.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36962304, "rep": 4, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04803629199999904, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.7997080000000008, "user_us": 5052.0, "system_us": 250.0, "rss_before": 54951936.0, "rss_after": 59932672.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60686336, "rep": 4, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028206999999998317, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.870083, "user_us": 18834.0, "system_us": 38.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 5, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02353641700000253, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.063458000000001, "user_us": 6893.0, "system_us": 424.0, "rss_before": 29818880.0, "rss_after": 36585472.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36995072, "rep": 5, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.046200499999997646, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.7982499999999995, "user_us": 5056.0, "system_us": 243.0, "rss_before": 54919168.0, "rss_after": 59932672.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60669952, "rep": 5, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02822404199999795, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.863542, "user_us": 18833.0, "system_us": 33.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 5, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027840041999997567, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.869708000000003, "user_us": 18862.0, "system_us": 9.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 6, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.048190707999999916, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8003750000000007, "user_us": 5057.0, "system_us": 263.0, "rss_before": 54820864.0, "rss_after": 59916288.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60637184, "rep": 6, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028187791999997103, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.866, "user_us": 18834.0, "system_us": 35.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 6, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023477124999999432, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.018208, "user_us": 6826.0, "system_us": 395.0, "rss_before": 29884416.0, "rss_after": 36651008.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37060608, "rep": 6, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028187208000002073, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.839792000000003, "user_us": 18830.0, "system_us": 12.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 7, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023460290999999245, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.037208999999999, "user_us": 6871.0, "system_us": 423.0, "rss_before": 29851648.0, "rss_after": 36618240.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 37027840, "rep": 7, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04745904199999984, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.809875, "user_us": 5064.0, "system_us": 259.0, "rss_before": 54870016.0, "rss_after": 59867136.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60604416, "rep": 7, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028122666999998103, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.84025, "user_us": 18833.0, "system_us": 10.0, "rss_before": 12288000.0, "rss_after": 12288000.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13451264, "rep": 7, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027834915999999765, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.856458999999997, "user_us": 18831.0, "system_us": 28.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 8, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02340195900000097, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.026875, "user_us": 6851.0, "system_us": 412.0, "rss_before": 29786112.0, "rss_after": 36552704.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36962304, "rep": 8, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.047663124999999695, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8065830000000016, "user_us": 5061.0, "system_us": 251.0, "rss_before": 54870016.0, "rss_after": 59916288.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60637184, "rep": 8, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.028194458000001532, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.837291999999998, "user_us": 18830.0, "system_us": 9.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 8, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.048164250000002795, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.8082920000000016, "user_us": 5056.0, "system_us": 253.0, "rss_before": 54820864.0, "rss_after": 59883520.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60637184, "rep": 9, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02375974999999997, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.029083, "user_us": 6858.0, "system_us": 390.0, "rss_before": 29802496.0, "rss_after": 36569088.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36978688, "rep": 9, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02817204200000134, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.867749999999997, "user_us": 18832.0, "system_us": 37.0, "rss_before": 12255232.0, "rss_after": 12255232.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13418496, "rep": 9, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027861082999997677, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.841333000000002, "user_us": 18831.0, "system_us": 13.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 9, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.027883792000000795, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.863792, "user_us": 18831.0, "system_us": 35.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 10, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.02782012500000164, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 18.889958, "user_us": 18845.0, "system_us": 51.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 13434880, "rep": 10, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.023386167000001734, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 4.024083000000001, "user_us": 6862.0, "system_us": 420.0, "rss_before": 29786112.0, "rss_after": 36552704.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 36962304, "rep": 10, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04793629100000274, "iterations": 2000000, "warmup": 5000, "operation": "select", "mode": "select", "wall_ms": 3.806290999999998, "user_us": 5098.0, "system_us": 259.0, "rss_before": 54919168.0, "rss_after": 60030976.0, "checksum": 218545000.0, "retained": 0.0, "peak_rss": 60784640, "rep": 10, "engine": "node", "fixture": "small_record", "bytes": 109} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/verify.jsonl new file mode 100644 index 0000000000..a5c0a64d0e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/verify.jsonl @@ -0,0 +1,20 @@ +{"exit_code": 0, "process_wall_s": 0.008794874999999994, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0017079999999998208, "user_us": 4.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04415691699999999, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.003375000000000128, "user_us": 327.0, "system_us": 30.0, "rss_before": 54886400.0, "rss_after": 55394304.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 56426496, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01944825, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0013750000000012363, "user_us": 3.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29687808.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 30113792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009281125000000001, "iterations": 2, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.001875000000000071, "user_us": 3.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 10.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "8954d25177ae1166ce0a1bb78e631fde46fc221aaf84a8abd5ee7929676129b6", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009036707999999977, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.004125000000000156, "user_us": 6.0, "system_us": 4.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04529920800000001, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.006083000000000283, "user_us": 328.0, "system_us": 45.0, "rss_before": 54804480.0, "rss_after": 55345152.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 56377344, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.019369458000000006, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.002957999999999572, "user_us": 5.0, "system_us": 1.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 30146560, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009327291000000015, "iterations": 7, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.004042000000000101, "user_us": 6.0, "system_us": 1.0, "rss_before": 12517376.0, "rss_after": 12599296.0, "checksum": 15.0, "retained": 0.0, "peak_rss": 13746176, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "f3245c9cdfead23681b93aefd935eb3a90edc03978f1269ba6a309f76d677f33", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009040417000000023, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.005082999999999949, "user_us": 7.0, "system_us": 1.0, "rss_before": 12484608.0, "rss_after": 12566528.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13713408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.044583333, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0064589999999995484, "user_us": 327.0, "system_us": 34.0, "rss_before": 55017472.0, "rss_after": 55476224.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 56459264, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01935950000000003, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.003791000000001432, "user_us": 5.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29671424.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 30113792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009255791999999985, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "rotating", "wall_ms": 0.0048749999999992966, "user_us": 7.0, "system_us": 3.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.008905542000000044, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0009589999999999321, "user_us": 3.0, "system_us": 1.0, "rss_before": 12484608.0, "rss_after": 12566528.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13713408, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04464174999999998, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.006374999999998465, "user_us": 327.0, "system_us": 36.0, "rss_before": 54935552.0, "rss_after": 55410688.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 56377344, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.019398458000000007, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0034999999999989484, "user_us": 5.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29687808.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 30113792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.009236042, "iterations": 9, "warmup": 8, "operation": "parse", "mode": "same", "wall_ms": 0.0010829999999999451, "user_us": 2.0, "system_us": 1.0, "rss_before": 12500992.0, "rss_after": 12582912.0, "checksum": 17.0, "retained": 0.0, "peak_rss": 13729792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.008805750000000001, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00020799999999976393, "user_us": 1.0, "system_us": 1.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 13680640, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "perry", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.04338945799999999, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0017500000000012506, "user_us": 325.0, "system_us": 37.0, "rss_before": 54706176.0, "rss_after": 55246848.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 56393728, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "node", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.01927720799999999, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.0009589999999999321, "user_us": 2.0, "system_us": 2.0, "rss_before": 29573120.0, "rss_after": 29605888.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 30113792, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "bun", "fixture": "small_record", "bytes": 109} +{"exit_code": 0, "process_wall_s": 0.00897641700000007, "iterations": 9, "warmup": 8, "operation": "select", "mode": "select", "wall_ms": 0.00020799999999976393, "user_us": 1.0, "system_us": 1.0, "rss_before": 12271616.0, "rss_after": 12271616.0, "checksum": 1853.0, "retained": 0.0, "peak_rss": 13680640, "verified_members": [0, 1, 2, 3, 4, 5, 6, 7], "verify_sha256": "6189de9a8831fe702f77a75185346809fa8dcdb4424ea178ba2990bf724a7a75", "last_sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", "correct": true, "engine": "baseline", "fixture": "small_record", "bytes": 109} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/window.json new file mode 100644 index 0000000000..e25c7e0877 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/window.json @@ -0,0 +1,38 @@ +{ + "owner": "json-perf-13090-1789116613", + "load_before": [ + 1.51708984375, + 1.7626953125, + 1.7421875 + ], + "started_utc": "2026-09-11T08:50:13Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-rotating.py", + "--worker", + ".work/zero-spacing-r25/candidate-rotating-worker", + "--baseline-worker", + ".work/zero-spacing-r25/main-rotating-worker", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--filter", + "small_record", + "--repeat", + "11", + "--source-commit", + "01f2878dad8efc92e394c49b88fe0800b871f593", + "--results-dir", + "results/quiet-zero-spacing-r25-small-recheck-rotating" + ], + "competing_workloads_before": [], + "load_after": [ + 1.8125, + 1.8017578125, + 1.7568359375 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:50:41Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/additional-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-roots.json new file mode 100644 index 0000000000..2d74c7b5b1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-native/zero.ll" + ], + "ir_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-validation.json new file mode 100644 index 0000000000..826415a9b7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + }, + { + "arm": "candidate", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..2bcfdc98bd --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-roots.json new file mode 100644 index 0000000000..85aa8d1945 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-roots.json @@ -0,0 +1,134 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc", + "verdict_reuse": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "note": "Fresh emitted IR matches R24. Checker scripts are unchanged. Preserve all unsuppressed R24 findings; checker commands in checks describe the original executions, not new runs." + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-workers-provenance.json new file mode 100644 index 0000000000..236d23f3a3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-roots.json new file mode 100644 index 0000000000..fc4c08e55e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-native/zero.ll" + ], + "ir_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-validation.json new file mode 100644 index 0000000000..82eae0872a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero" + ], + "rows": [ + { + "arm": "candidate", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "candidate", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "candidate", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-zero": "27ab9bf72645ea3850f3c009c8c623d29319526485fa586fdd38949be9ecad7c", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.js new file mode 100644 index 0000000000..b2af1c36ac --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.js @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +let last = null; +function run(count ) { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.ts new file mode 100644 index 0000000000..e9f0a29920 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.ts @@ -0,0 +1,36 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +let last: any = null; +function run(count: number): number { + let sum = 0; + if (operation === 'changing-plain') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'changing-zero') { + for (let i = 0; i < count; i++) { + input.id = 42 + (i % 2); + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller-exit.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller-exit.json new file mode 100644 index 0000000000..1f1863572c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller-exit.json @@ -0,0 +1,3 @@ +{ + "exit_code": 0 +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller.log new file mode 100644 index 0000000000..d8bde7dcd5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller.log @@ -0,0 +1,8 @@ +FINISHED tiny_object retain-stringify 1 +FINISHED tiny_object retain-stringify 200000 +FINISHED small_record retain-stringify 1 +FINISHED small_record retain-stringify 100000 +FINISHED long_string_1m retain-stringify 1 +FINISHED long_string_1m retain-stringify 32 +FINISHED unicode_1m retain-stringify 1 +FINISHED unicode_1m retain-stringify 32 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixture-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixture-hashes.json new file mode 100644 index 0000000000..3aeb3a394e --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixture-hashes.json @@ -0,0 +1,21 @@ +{ + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixtures.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixtures.json new file mode 100644 index 0000000000..ae252e71f5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixtures.json @@ -0,0 +1,223 @@ +[ + { + "name": "null", + "bytes": 4, + "utf16_units": 4, + "kind": "small", + "sha256": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "string_a", + "bytes": 3, + "utf16_units": 3, + "kind": "small", + "sha256": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "empty_object", + "bytes": 2, + "utf16_units": 2, + "kind": "small", + "sha256": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "tiny_object", + "bytes": 7, + "utf16_units": 7, + "kind": "small", + "sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "small_record", + "bytes": 109, + "utf16_units": 109, + "kind": "small", + "sha256": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "object_1k", + "bytes": 1021, + "utf16_units": 1021, + "kind": "object", + "sha256": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_16k", + "bytes": 13197, + "utf16_units": 13197, + "kind": "records_array", + "sha256": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_array_1m", + "bytes": 888597, + "utf16_units": 888597, + "kind": "records_array", + "sha256": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_1m", + "bytes": 888609, + "utf16_units": 888609, + "kind": "records_object", + "sha256": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_8m", + "bytes": 7117930, + "utf16_units": 7117930, + "kind": "records_array", + "sha256": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_8m", + "bytes": 7117942, + "utf16_units": 7117942, + "kind": "records_object", + "sha256": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "records_array_20m", + "bytes": 17765930, + "utf16_units": 17765930, + "kind": "records_array", + "sha256": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "operations": [ + "parse", + "stringify", + "sparse", + "scan", + "roundtrip" + ] + }, + { + "name": "records_object_20m", + "bytes": 17765942, + "utf16_units": 17765942, + "kind": "records_object", + "sha256": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "numbers_1m", + "bytes": 1067371, + "utf16_units": 1067371, + "kind": "numbers", + "sha256": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "long_string_1m", + "bytes": 1048594, + "utf16_units": 1048594, + "kind": "string", + "sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "escaped_1m", + "bytes": 990018, + "utf16_units": 990018, + "kind": "string", + "sha256": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "unicode_1m", + "bytes": 884018, + "utf16_units": 468018, + "kind": "string", + "sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "wide_1m", + "bytes": 977781, + "utf16_units": 977781, + "kind": "wide", + "sha256": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "operations": [ + "parse", + "stringify" + ] + }, + { + "name": "heterogeneous_1m", + "bytes": 914291, + "utf16_units": 914291, + "kind": "heterogeneous", + "sha256": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "operations": [ + "parse", + "stringify" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.js new file mode 100644 index 0000000000..70d94cb8e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.js @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records = JSON.parse(text); +const length = records.length; +function run(rows, count) { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.ts new file mode 100644 index 0000000000..530a63c663 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.ts @@ -0,0 +1,43 @@ +import { readFileSync } from 'node:fs'; +const text = readFileSync(process.argv[2], 'utf8'); +const mode = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const records: any = JSON.parse(text); +const length = records.length; +function run(rows: any, count: number): number { + let sum = 0; + let cursor = 0; + if (mode === 'repeat') { + for (let i = 0; i < count; i++) sum += rows[7].id; + } else if (mode === 'random') { + for (let i = 0; i < count; i++) { + cursor = (cursor * 17 + 7) % length; + const index = cursor; + sum += rows[index].id; + } + } else if (mode === 'fields') { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + sum += rows[index].name.length; + sum += rows[index].active ? 1 : 0; + } + } else { + for (let i = 0; i < count; i++) { + const index = i % length; + sum += rows[index].id; + } + } + return sum; +} +let checksum = run(records, warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(records, iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +console.log('KEEP', records.length); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.js new file mode 100644 index 0000000000..adb5655ef4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.js @@ -0,0 +1,63 @@ +// Generated from rotating-worker.ts by erasing its type annotations. +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last = null; +let cursor = 0; +let checksum = 0; + +function run(count) { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.ts new file mode 100644 index 0000000000..ce56073346 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.ts @@ -0,0 +1,62 @@ +// Setup and input allocation stay outside timing. The eight preloaded strings +// differ in one value, retaining the same byte size and property order. +import { readFileSync } from 'node:fs'; + +const prefix = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const verify = process.argv[6] === 'verify'; +const mode = process.argv[7] || 'rotating'; +const sources: string[] = []; +for (let i = 0; i < 8; i++) { + sources.push(readFileSync(prefix + '.' + String(i) + '.json', 'utf8')); +} +let last: any = null; +let cursor = 0; +let checksum = 0; + +function run(count: number): number { + let sum = 0; + if (operation === 'select') { + for (let i = 0; i < count; i++) { + const text = sources[cursor]; + cursor = (cursor + 1) & 7; + sum += text.length; + } + } else if (mode === 'same') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[0]); + last = value; + sum += value === null ? 0 : 1; + } + } else { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(sources[cursor]); + cursor = (cursor + 1) & 7; + last = value; + sum += value === null ? 0 : 1; + } + } + return sum; +} + +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +console.log('RESULT', elapsedMs, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, rssAfter, checksum, 0); +if (verify) { + // Reparse every member outside measurement: checking only the last member + // cannot detect a stale cached value returned for a different input. + for (let i = 0; i < 8; i++) { + console.log('VERIFY', i, JSON.stringify(JSON.parse(sources[i]))); + } + console.log('LAST', JSON.stringify(last)); +} +console.log('KEEP', sources.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_access.py new file mode 100644 index 0000000000..aeb19504ea --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_access.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ROOT / 'access-worker.js')], + 'bun': [args.bun, str(ROOT / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ROOT / 'access-worker.ts', ROOT / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_regression_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_regression_focus.py new file mode 100644 index 0000000000..f1c85426ec --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_regression_focus.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +from run_dispatch_focus import run, ROOT + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(ROOT / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={p: hashlib.sha256((ROOT / p).read_bytes()).hexdigest() + for p in ['run_regression_focus.py', 'run_dispatch_focus.py', 'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(ROOT / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.js new file mode 100644 index 0000000000..8ff145c5fb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.js @@ -0,0 +1,82 @@ +// Generated from worker.ts by erasing its type annotations. +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.ts new file mode 100644 index 0000000000..c654926e01 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.ts @@ -0,0 +1,81 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/host.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/host.json new file mode 100644 index 0000000000..d90b08b284 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/host.json @@ -0,0 +1,86 @@ +{ + "started_utc": "2026-09-11T08:32:27Z", + "load_before": [ + 1.73193359375, + 1.7939453125, + 1.6259765625 + ], + "cases": [ + [ + "tiny_object", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "tiny_object", + "retain-stringify", + 200000, + 0, + 7 + ], + [ + "small_record", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "small_record", + "retain-stringify", + 100000, + 0, + 7 + ], + [ + "long_string_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "long_string_1m", + "retain-stringify", + 32, + 0, + 7 + ], + [ + "unicode_1m", + "retain-stringify", + 1, + 0, + 7 + ], + [ + "unicode_1m", + "retain-stringify", + 32, + 0, + 7 + ] + ], + "workers": { + "perry": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + "baseline": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "node": "87e9b1fed820a2683ea90f5871596edf605b7162519156856dacbfbad36d1d29", + "bun": "e0c90ec15d33363e6b70713d56bc3b2c7585c17f40a0fe0f8fd9305901d4e233" + }, + "sources": { + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "/Users/perry/json-codex-yHdsko/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + "node_version": "v26.5.1", + "bun_version": "1.3.14", + "finished_utc": "2026-09-11T08:32:37Z", + "load_after": [ + 1.76611328125, + 1.80029296875, + 1.6298828125 + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-candidate-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-candidate-probes.json new file mode 100644 index 0000000000..5fb652abf4 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-candidate-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-lazy-space-probe": "7f086ab691bf3c449799eaa62fbf9fdbc0fbf7e3423062b9f5020e5dc96f3e86", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-main-probes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-main-probes.json new file mode 100644 index 0000000000..d7a24fa632 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-main-probes.json @@ -0,0 +1,211 @@ +{ + "rows": [ + { + "count": 2, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 2, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "zero", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "true", + "exit_code": 0, + "matches_node": true, + "output_bytes": 88 + }, + { + "count": 2, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 175 + }, + { + "count": 180, + "form": "canonical", + "mode": "plain", + "exit_code": 0, + "matches_node": true, + "output_bytes": 6568 + }, + { + "count": 180, + "form": "canonical", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "canonical", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "whitespace", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "whitespace", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "whitespace", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + }, + { + "count": 180, + "form": "duplicate", + "mode": "plain", + "exit_code": 0, + "matches_node": false, + "output_bytes": 7828 + }, + { + "count": 180, + "form": "duplicate", + "mode": "zero", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "true", + "exit_code": -11, + "matches_node": false, + "output_bytes": 7 + }, + { + "count": 180, + "form": "duplicate", + "mode": "pretty", + "exit_code": 0, + "matches_node": true, + "output_bytes": 14309 + } + ], + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe" + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/lazy-space-probe.ts": "414396d09f9ddafd606942015125ae17445e29b0b8cf47a229ccc1498be09234", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-build-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-build-provenance.json new file mode 100644 index 0000000000..b2aea266d5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-options-validation.json new file mode 100644 index 0000000000..cab4667797 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-roots.json new file mode 100644 index 0000000000..eec56d44e5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-native/zero.ll" + ], + "ir_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-workers-provenance.json new file mode 100644 index 0000000000..5da28d534b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-fixture-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-fixture-validation.json new file mode 100644 index 0000000000..c904fd21eb --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-options-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-options-validation.json new file mode 100644 index 0000000000..47f78c859d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-roots.json new file mode 100644 index 0000000000..4a3bf80c34 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-native/zero.ll" + ], + "ir_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-ir-shadow/zero.ll" + ], + "ir_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "source_sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-validation.json new file mode 100644 index 0000000000..f5d96c07b3 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-validation.json @@ -0,0 +1,82 @@ +[ + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "tiny_object", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12740, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "small_record", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12756, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 12600, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "long_string_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 8, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 6463, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + }, + { + "arm": "main", + "fixture": "unicode_1m", + "operation": "retain-stringify", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 7, + "moved_objects": 12614, + "binary_sha256": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca" + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-workers-provenance.json new file mode 100644 index 0000000000..acecee5d59 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "retained-zero", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero.o": "4aee07f3f1605fb9f81d2019dd2533306d7e39d3bfe6a858232f3ab70d63aae5", + "benchmarks/json_performance/.work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-reuse-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-reuse-provenance.json new file mode 100644 index 0000000000..4d9e61f4f8 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-reuse-provenance.json @@ -0,0 +1,2152 @@ +{ + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "evidence_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "note": "The reference arm called main by the reused harness is measured R24, NOT current main. Original R24 candidate receipts are copied verbatim; those checks are reused, not rerun. New zero-spacing coverage runs both frozen arms separately.", + "files": [ + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-compile.log", + "sha256": "a40967297daed7f871544a2aae7a0619f5bf1b010e3e5ab872c716de54213db8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stdout", + "sha256": "8908a39d4a7b4d19b28d6de2f756de4d8aa558f4199186794e3fbf7980e25edf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options", + "sha256": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stderr", + "sha256": "60716c3d37533939b4f41f15e4101f6ad59bdecdd6f39ead15c2ccf3f8b075c1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stderr", + "sha256": "434af3f29a4a8f60e0016be9f9d3e7a0d80fd875b36ee62dfea87a7b74232af8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stderr", + "sha256": "f3ad08b501699a04eab4f7cddae2cf2ac3fd308b83c30dcf78f4b515e87fdeee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stderr", + "sha256": "830559c07cf873327479f8cf35ad64c422901aaeb46f668cfb987abee6344203" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker-build-0.log", + "sha256": "5c0bceda01136fda2d3e39cd984afa3f39b3e1f8d3146ac4042f919dce6da950" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stderr", + "sha256": "a27c1bc902885cbd9efdc6dfcddf59c5df3de76e6e4ffa20f5b235b09e7bc004" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stderr", + "sha256": "be863d34f88c4e04c210e913e43de5a8983536476cd7bf39913f2aa1da1db68f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-workers-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-workers-provenance.json", + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stderr", + "sha256": "50d2e99c5c401a054f87bf2c2f07540b922d42773d5e4c0d0e282e9be743718b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker", + "sha256": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stderr", + "sha256": "07554305fa8d22cca1136ef6710f3262a0fe80bc6521c04c0556f43b95bfbafb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stdout", + "sha256": "08c66ba8f64b50fbac889e7eb4f6098ea9ba528c65a4603f417e0efa43e3f56e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stderr", + "sha256": "6aaf7741b04d33808e8c475483429496343b0a733ddd40813dab073450e4b24b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stdout", + "sha256": "bf1ce9896785b1d319bd23767aab100d1b6fb24f04440cf0011e8610dc8023e0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-compile.log", + "sha256": "85c27a0804fc3a8240be9150df62dee98755af0733b8f5fa70ca590696fbb922" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture-0.ll", + "sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker-0.ll", + "sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/ordinary-workers-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/ordinary-workers-check.log", + "sha256": "a070a94176c6d41c9a84264e2c2a20584444f94cbe159d6a74ff8f2c6ce96349" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only-0.ll", + "sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length-0.ll", + "sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction-0.ll", + "sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker-0.ll", + "sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry-0.ll", + "sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker-0.ll", + "sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads-0.ll", + "sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-check.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-check.log", + "sha256": "c687e0bda1d65d6a644547dd46495041a9602bff17d0af9578bdd89adf749ff8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/check-0.log", + "sha256": "2e1e93ae99fdbf7ff3601b32f219b9d9a53926fb85a68158506729b4cf7436f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/compile.log", + "sha256": "5dc9cdb9ee04ed67afbeb5507fc79c66cf933fdcfa3cde7da4adb31d1492174f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/compile.log", + "sha256": "db03df3925f549967fd60a68eca56290ca40dcf331b2eca6ef615f29fb940f42" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/worker.o", + "sha256": "462dbeb33d6f8851abf74488ded6a5a038c3e550926b2253faa53a1c683d8de1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/compile.log", + "sha256": "afb37d7d494c641ca2bd15d6104527b6dd7a967330b5570a9831e33eeb6d88f9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/worker.o", + "sha256": "1012306eb033f8b43e1b25aee960f84307e98cce2ab9471676d7b4620625b896" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/compile.log", + "sha256": "4f126b9f235b5b69009edb7807f6b63e4bc10f735115bdb53539c6b8e1495f18" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/worker.o", + "sha256": "9acc2ae0d9786f1330efd820d9cdf5eaa6042d68a49da472145d2afa2bc2cad3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/compile.log", + "sha256": "b7de4ac8250730188a25d084eddb30de80704ab5f56919d577fc282fa44afb38" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/worker.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/compile.log", + "sha256": "6889408116d0ed33d17f714442c4f74faa1e0f5f9fd3caf6df19a9154e2a23ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/worker.o", + "sha256": "6ca5eee3aa558315a20a2450b93587279fd85f3475e6e78ba1c3b4c492b2ffc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/compile.log", + "sha256": "46be3661f280e36d4d5760913d1e89bd1c062040db8f6e50e6eeb92f1299d3e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/worker.o", + "sha256": "c1231c97608889b5790735858873bda932e3ee7ed9f8ec1c293b02c6a756d0f8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/compile.log", + "sha256": "7a69ebbc14281ffc0f07ae86c184a5b760cd69be4c6e573c724b5f8de40b7a4b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/worker.o", + "sha256": "578466e28aa1e9837406f037983a68cd58f4748b8a95ff5b31c98e56f4a8b02b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/rewrite-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/rewrite-0.log", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/compile.log", + "sha256": "bc2fa27f62a01fb29fc17726d3977d95ffd0510d7affb51cb2c5021c37100740" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "6f04c8ac7a9408ad14932d498e57b6cbd8215997345da13f5d5c25932e7625cb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "8077eb6cee794e9c857500125018ff127f18b0f1d187caf79dc51f36cc24e43a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "97cb6b183b9e4e8e1c8d87fabf2a0f009e5be97a52686633294ef083cee8072a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "66327336cb51ae8a5b9dc2f013695d4c2a78f9473e3b34f4d8752b1b5731b25a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "602e8a19f1d5b047e056d5fc85395daafc24aa8f9ab71011b4c17ae3b6234d7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "83b73c072cbbca1a31acbeeaf5a91bb2a305e303e05cd4466dd68794d4bdcb52" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "96bfa878a9e33d7beed072e8f57f3f259150a1b07bb6eb88fc6fdbdd4eb83cdf" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "2d985a40ef89350fbcebd0e3189ea06a271aae20305bc01a5378b70a767bf7f1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "74027b84ff2fa008465587fc74b299427d4c62fcf347c17392713790845a1531" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stderr", + "sha256": "bbe50d08987f693c6c7f344da0193923e8736d996acbef650d3ea554c682447c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-0.log", + "sha256": "f44899cd5e0537555847e651cde5e8bbc0a17049032118fa5fa1ee8380b6e84c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stdout", + "sha256": "8014a0e0b5fc3836e7bd2b9e0384f4b2ae6760529769fc8b8e298f639259a9d1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-spacer", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-spacer", + "sha256": "f67a37f22e3cee27710b7553c696c2a45c2fef7f20f913c4a53e1f310092735c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only", + "sha256": "11675474d5d350e80e7e8d4651aab61855d1f367528ae3bb3388035629795cc9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stdout", + "sha256": "79d5294895778cd97fabe8e5f22d4e33a58c242287acb25f9d65b94d3945cc16" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stderr", + "sha256": "1f2a0f0ed4f2b35e7349da31805a73ab9612905994fbf25e696044f4ce6e519d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-compile.log", + "sha256": "c64713a10a4f2a4926bbf8a4600a79e7f0ef386d226dee38db644725ffd087a1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stdout", + "sha256": "e4e7560cd912b241435c0e54018563e1c2d7d4350aa4b493a8bc30c8cff01086" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-scheduled.stderr", + "sha256": "ecaa4d3deb559113865808f07600904364f1b655614493e0894225aa315cc7bb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-scheduled.stderr", + "sha256": "e1a0b9c74c9a0153ad00e701cae36479c0278a187832f76d4d4faa2fd1ed4a00" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-scheduled.stdout", + "sha256": "8bb2421a2e01422979dbe01ee52d1bb27663ed2de4b1fb51c64349b622a89660" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-access-worker.o", + "sha256": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-normal.stderr", + "sha256": "25d0adf0a17ded35b210360980e8ade7acde503a90681d1acfcb51efa34e1154" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-compile.log", + "sha256": "cf052121709230ed7c666545fd7c01af55f67ebb037e935da619615595bbaad0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture-0.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker-0.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only-0.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length-0.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction-0.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker-0.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry-0.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker-0.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads-0.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-1.log", + "sha256": "8dff47d11974370bd580487f44a5ec19789218771c1d1d3c42c9a2f67e03a763" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/check-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/check-0.log", + "sha256": "b4ad91c3eab41620a040675b7da92174960e8d9bba454e4cf709a10991272347" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/compile.log", + "sha256": "dc1d873fa0466197517f8a315bad99d17c2198002cdcc8818a50ba7148d0e853" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/worker.o", + "sha256": "f0d633b01a767b183bb047f9df5edbb68eff904f899650d1c0c7616be336a405" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/compile.log", + "sha256": "3b19af66966c87c54d037ee55ea509365e7a69a0135a1793716edd3fe1db1f0b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/worker.o", + "sha256": "28691e1e114f0bcc0302caf3b244d66b5f23d6e2eb60e9e00a4e24a6a513c2ef" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/compile.log", + "sha256": "56e05bf15852569ff906fdbd019f957fdee3e6e63d25943e9a23e0db76af321d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/worker.o", + "sha256": "aa6922f3289ee3847936c92c33001a579735d25115b1b4229c1101ad4ac79903" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/compile.log", + "sha256": "7f2eeb9197b61c2e002b883926691dd600c47e9d893a942972058c0f0c61fe23" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/worker.o", + "sha256": "4aacc8839e6a96dda7cc2ddd08eafaa6207d69af602ec89be3d80a24d851d1ec" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/compile.log", + "sha256": "f5d4f4fd14293a39401b17eedd5f68f902c300d944d522f5b4388f1779c1d9c6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/worker.o", + "sha256": "56656cc41877b23e12816bf121a1d5b2155908d846ccd31a7d772b545f05b45c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/compile.log", + "sha256": "51727c34ea792f30031274186907c8781cda9551c185b5cec48fec1fd3d2341c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/worker.o", + "sha256": "efd01fbf9c3c1d7f7c6d089242bbf3a1cf595ffac1b9455feff11b663831e186" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/compile.log", + "sha256": "573a2eebedff059696e5f7e3391ef5f7d9ca1a7ec43fcd5d9ad328bb68c5aa07" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/worker.o", + "sha256": "19808fe019ad81ad28405e395b69ca2116ed6e162584242e99bdbe3afbf144f0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/compile.log", + "sha256": "7f69d618a1d3006cbd2bd85edf77d45f45841a90d6488cf8ce53dc8f4fb911b2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/worker.o", + "sha256": "9d4b685772750a0bf9ea3f8f7617563f3ff36278c5c21f175190b1eabc18f92c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/compile.log", + "sha256": "900c5234f14fc7c4023a282e4bbf73b498f12b418b64de238ffd3bb24ad2beb2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/worker.o", + "sha256": "916b38f99cc1ff1f0f9374a8557577007a7046844c5a81364ac826f755e8a01a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll", + "sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll", + "sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll", + "sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll", + "sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll", + "sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll", + "sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll", + "sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll", + "sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll", + "sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-15lazy_get_rooted.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-15lazy_get_rooted.s", + "sha256": "90e9f3006be47b9b2ad448e0f6c81d3bff6054f9f5291890301b0ee80a3cd7c0" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-validation.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-validation.log", + "sha256": "6c2075f08b93575f934785b5d57032b51c1f0d4c792b6596500859142337ea98" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry", + "sha256": "d313b95bf764cb1be2759bf3a325e8672fd919c832c071acc978d9b5a27b1643" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads", + "sha256": "5f454b7d3280561f418544da2eca1a2bd19e6f2907739fd3622328c94311a50a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-compile.log", + "sha256": "ac5d856620c66a4ba582bd338fc853ca85de642ff737c509e31f05aadfbc4196" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-normal.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker", + "sha256": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-fullgc.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-normal.stdout", + "sha256": "a105668b7e420eae1dab2cef2d328c6157987811dc7a6de232620d8794514fb8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-direct-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fixture-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fixture-validation.json", + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-zero-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-zero-scheduled.stdout", + "sha256": "1cb00f86a185c7ad1ee2268edc090547042dd51f8c2e96cb01e523726974e119" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-callback-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-callback-normal.stdout", + "sha256": "cb1a6a3e365cd38417046cc41afe52b8873b09a04c6138790df7bc494be21bee" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-scheduled.stderr", + "sha256": "9e9d0ed4582a1ed8d2b22cf9bf2d2b60d8e1761bac1c8588db06c2f6c0003a08" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker.o", + "sha256": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-keys-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-keys-scheduled.stderr", + "sha256": "24f3fd21324a35d5e3ac2f8aa2e90076416c9f3a8feb52e4d633e57880883b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-plain-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-plain-normal.stdout", + "sha256": "0ddb7acb537c3a37e2beb421264e555228c20a3c90379c27df37c93170b9d01d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-array-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-array-get.s", + "sha256": "e74d37fee6532e77c92290d3189080b4e37ea444655e16acaff8ea15cc7ab74e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-direct-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-direct-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-callback-only-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-callback-only-auto-scheduled.stderr", + "sha256": "56c5d750f0d9283781aaec7de2baa1bf2f4bada65f5ddd887f9aa243cc3a6e9c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-scheduled.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-tape-scheduled.stdout", + "sha256": "d2863b3aa78dc718c92666fde4a69bfaf6c07515d97911c780f980574c9176c9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-scheduled.stderr", + "sha256": "ad98e50b30a679c94fe5a405a3b446a2e815e5794b509fc3fb5b3134c2c2e183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture-auto-scheduled.stderr", + "sha256": "2db253b27118c54449b9f97c56724fb0cddb7b18064a2443cfc5a5a8703185ed" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_template_capture", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_template_capture", + "sha256": "cfd34ca43da0b72a4514914689169d9b38ae5e7e34d6fee43d592e5348202183" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker", + "sha256": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker.o", + "sha256": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction-compile.log", + "sha256": "7e91c5130b2caaff90dde0a14d6821c12e376472d6fa2b8cf714adda30c7c3dc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stdout", + "sha256": "6010cba96d2bb5b5b6b86d00f924c57f4fb7d5dc5f2470cdb70a208f9450b451" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stderr", + "sha256": "612bdb6cb6505b04f1ea0f18aac3d37883b6899edae247e2c15b2cebc6ce7385" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stdout", + "sha256": "5cd6be4b86f690b33436983588dd6c91e0be60b3533c683f37f500947fc0603c" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stderr", + "sha256": "785a53a869c79b9d4e0dc12e1d81466cc9c2e64557cedf8f20e12446b1502b64" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-packed-index-get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-packed-index-get.s", + "sha256": "75fcbd46cb1153a9d5a7a509829c0f4f222059bca55a0766f02271803644fce3" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-roots.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-roots.json", + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stdout", + "sha256": "3a880cf6ead4abccaa782d50c9ec0daa3e759054231c6453e35bcd907ef5c2b1" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length", + "sha256": "bd685ab58ff9746a8336150275d5b14dd34404011f28ab7fe8fa66c1bcc554c7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stdout", + "sha256": "3f961053022da3791d7a0a2880fcc129008d5b4d555390c9bcf80d100a2ebc34" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-rotating-worker-build-0.log", + "sha256": "b0b69109087e1f54d39574a6a3325bc762c44952cce7b0424fecf1f43ff4bf73" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stderr", + "sha256": "b222c929fc35ce03db8b87ded59c80c88df1df0caa59d750a18991448788384a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stderr", + "sha256": "8e26904e9c262591ad424f01da3cd0bff6108d31c53396c7e365dc7f339c7fe9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stderr", + "sha256": "453e42279ecfbc61bf2d9f8d8e7e71738a6475747fa9f3a302bb2c75c91c252f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe", + "sha256": "7f119a302c936a148b6868b089bc7eae5d0e39ac30398803e255a9c47337c30d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction", + "sha256": "30374fbf051ab13325913ddc1fbf27915f43ead5ecef3e480c64e12e9906d3f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-dynamic-zero-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-dynamic-zero-normal.stdout", + "sha256": "efaff1c7debd857900bdadaca335b622d234562b891d288a8270babac87e4b74" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-compile.log", + "sha256": "8e84e65a2902b4867f7b67c5440a8d1b53dc253086c3c05ead538d2cc8d51910" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-normal.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options-validation.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options-validation.json", + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-fullgc.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-auto-scheduled.stdout", + "sha256": "e6ead4695cb4b911404a46ebc18b6143e79758b82a6996fac63a933e53c45400" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-normal.stdout", + "sha256": "1eb2c7510d5a978ade3701f830529608bfb68074f0e8e1f694af443bd7eb6830" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-scheduled.stderr", + "sha256": "df96dde13bc67c330cfa037cff0b409f2b538fec8b0ca0cc3b78e6594b39a66d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-options.o", + "sha256": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-0.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-0.log", + "sha256": "b960e1f24fc3783b0e71d16c61f53a81f1c00f3e088fd18fca2cf9832f335a77" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker-build-1.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-worker-build-1.log", + "sha256": "57261391f79c2e4c99f9cac329e8e7a5c59d1e6d1cbacd68cf1ea7677d2caca6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-11cached_read8lazy_get.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-11cached_read8lazy_get.s", + "sha256": "6b368869adae87249400e1b96e351229ec427d610e8ddff1a111c53b63cbe040" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-fullgc.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-fullgc.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-small_record-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-small_record-pretty-scheduled.stderr", + "sha256": "32b3bea9378c504a9214b6129c5e50aeeac2ac16714705598d979d599bf105b8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-direct-normal.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-direct-normal.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-normal.stderr", + "sha256": "6b67d8b4fb1cf33853efd820e4e522e5792daa99cfa93ef79b519fd4b46d8318" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_source_length-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_source_length-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-auto-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-auto-scheduled.stderr", + "sha256": "e7dc64378d3534a1edf377130f4d7587071c732bbefdf9db1df2ee7abef86923" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_reads-tape-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_reads-tape-scheduled.stdout", + "sha256": "2eab8d419be542416cfecba16dd446de52590acddd9f535f1ffa6b5860c542d6" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-8mutation26resolve_materialized_array.s", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-8mutation26resolve_materialized_array.s", + "sha256": "b5ba769aaff1b007c5089085c697ffa3df580249607cdc3f4dc2715b6b0df2e7" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-direct-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-direct-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-tape-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-tape-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-fraction.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-fraction.json", + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-auto-scheduled.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-auto-scheduled.stdout", + "sha256": "8f6dda79d2bd7419d80d8f01b9989a24b20f017c20fb31538fe58b0c5405397d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-fullgc.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-fullgc.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-candidate-records_array_16k-pretty-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-main-records_array_16k-pretty-scheduled.stderr", + "sha256": "1f073392b9177150bd27eaa259f787648770c6b00dd700aa1fea49151483a9e4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-test_json_cached_construction-tape-scheduled.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-test_json_cached_construction-tape-scheduled.stderr", + "sha256": "8248d568d166e0a212426e5de0cc79a3dc5b342c87afac4aa694027131164e3d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-prior-entry-auto-normal.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-prior-entry-auto-normal.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/build-provenance.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-build-provenance.json", + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a", + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a", + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/lazy-candidate-probes.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-main-probes.json", + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-true.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-plain.stdout", + "sha256": "31b2d87e4f2fb4e517bcbbeb15065422f322378dcd6c984119890ee2cd781193" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-space-probe", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-space-probe", + "sha256": "a74434ef14c29b5fd387eab38a7ef160175c5e3030eda61b8689055bc86cf4c2" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-plain-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stdout", + "sha256": "62f18db77ac9f5eca2e0c05b7f563f02ed8e171f06ec05f6424403aa2b72a87e" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-zero-node.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-plain.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-plain.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-whitespace-zero.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-whitespace-zero.stdout", + "sha256": "9160d4be34c8695bd172a76c7c7966587ea5a4d991ad22c87b2b91af54aa9ebb" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain-node.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-zero.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-zero.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-canonical-true.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-canonical-true.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-duplicate-pretty-node.stdout", + "sha256": "e73d70b55aa76fc4793d2312c488c9b3aecad351fc8e96d0a9e74e2e0aaa05ab" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-2-whitespace-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-2-whitespace-plain.stdout", + "sha256": "d9f207d92a71d013fc5747bb99cf059234096cd8395af278f46edca88dc6be55" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty-node.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty-node.stdout", + "sha256": "4d2b0a3537539624d14919e8032111b8ae252ea5e38b20cd394fe6d52d343b9d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-duplicate-pretty.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-duplicate-pretty.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-lazy-180-canonical-plain.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/lazy-180-canonical-plain.stdout", + "sha256": "11f57e9d521d0fe97bd1aea6839fa3a020d9e08090826f22dec8c19e7bc99b47" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-auto.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-auto.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stdout", + "sha256": "5d1802bd030fe3379bb06a180e92fcf986296aef9107dadcc10a8f63bdbf6c7b" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stdout", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stdout", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-tape.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-tape.stderr", + "sha256": "7ec74ab7f049caee2cc14c5c0950a86539460b5126c78eef092b4c58f33842cd" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-compile.log", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-compile.log", + "sha256": "9e8f51720cc197faf08851a73aeeaf484a47014b4e0d9abbb2cc84b3c479f9a5" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-getter-probe-direct.stderr", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/main-getter-probe-direct.stderr", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/fraction-baseline.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/fraction-baseline.json", + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/getter-baseline-comparison.json", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/getter-baseline-comparison.json", + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.ts", + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/options-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/options-worker.js", + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_dispatch_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_dispatch_focus.py", + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.ts", + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.js", + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/with_lock.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/with_lock.py", + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.ts", + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_access.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_access.py", + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/access-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/access-worker.js", + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/run_regression_focus.py", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/run_regression_focus.py", + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/rotating-worker.js", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/rotating-worker.js", + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "source": "benchmarks/json_performance/.work/outlined-cached-read-r24/harness/worker.ts", + "copy": "benchmarks/json_performance/.work/zero-spacing-r25/harness/worker.ts", + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + } + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-roots.json new file mode 100644 index 0000000000..b2e20491b6 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-roots.json @@ -0,0 +1,130 @@ +{ + "checks": [ + { + "mode": "native", + "scope": "all", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "9", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "native", + "scope": "ordinary-workers", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "2", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/access-worker-0.ll" + ] + }, + { + "mode": "native", + "scope": "callback", + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-native/callback-only-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + }, + { + "mode": "shadow", + "scope": "all", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_template_capture-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/callback-only-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_source_length-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_construction-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/access-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/prior-entry-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/options-worker-0.ll", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-ir-shadow/test_json_cached_reads-0.ll" + ] + } + ], + "source_hashes": { + "benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "passes": "always-inline,function(mem2reg,sccp),rewrite-statepoints-for-gc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-workers-provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-workers-provenance.json new file mode 100644 index 0000000000..99b640c95b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-workers-provenance.json @@ -0,0 +1,134 @@ +[ + { + "worker": "worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker.o": "b4b4f4082a942022854cd87d256ef356ed0ff2b6320486282ef5bec4a7d42bde", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "access-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker.o": "f254101175a846f8d526ca85103adb6de981e0b41e0e484f3e0a60f948e35818", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "rotating-worker", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker.o": "85cf7332d6734195f0776b7c19d8b89d133bddd443032f1c87d91db8474186bc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + }, + { + "worker": "options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options.o": "f25e0184b7348b0c49297064430f7938d911663721e8ca5c7ccba7c9554f958f", + "benchmarks/json_performance/.work/outlined-cached-read-r24/candidate-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/outlined-cached-read-r24/frozen-build/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-roots.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-roots.json new file mode 100644 index 0000000000..b053063c2d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-native/zero.ll" + ], + "ir_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero-ir-shadow/zero.ll" + ], + "ir_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ], + "source_sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "compiler_sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "runtime_sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-validation.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-validation.json new file mode 100644 index 0000000000..f25d6a1017 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-validation.json @@ -0,0 +1,101 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/main-zero" + ], + "rows": [ + { + "arm": "main", + "parser": "auto", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "auto", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "auto", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "tape", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17499 + }, + { + "arm": "main", + "parser": "tape", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "normal", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + }, + { + "arm": "main", + "parser": "direct", + "mode": "scheduled", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 189, + "moved_objects": 17511 + }, + { + "arm": "main", + "parser": "direct", + "mode": "fullgc", + "exit_code": 0, + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0 + } + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/test_json_zero_spacing.ts": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797", + "benchmarks/json_performance/.work/zero-spacing-r25/main-zero": "5ac31459c41cdcb2e394d0c269ec13ced40b97ce2ada1bad6e48ba8e12354455", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/perry": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_runtime.a": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-main/libperry_stdlib.a": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8" + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/measure-zero-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/measure-zero-retained.py new file mode 100644 index 0000000000..82be7d4b38 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/measure-zero-retained.py @@ -0,0 +1,23 @@ +from pathlib import Path +import json, shlex, shutil, subprocess + +w = Path(__file__).resolve().parent +prefix = '.work/' + w.name + '/' +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance' +host = 'perry@perry-macos.local' +cmd = ['python3', prefix + 'run-zero-retained.py', '--worker', prefix + 'candidate-retained-zero', + '--baseline-worker', prefix + 'main-retained-zero', '--node', '/opt/homebrew/bin/node', + '--bun', '/Users/perry/.bun/bin/bun'] +slug = 'quiet-' + w.name + '-zero-retained' +invocation = ['python3', 'with_lock.py', '--'] + cmd + ['--results-dir', 'results/' + slug] +(w / 'remote-zero-retained-command.json').write_text(json.dumps(invocation, indent=2) + '\n') +with (w / 'remote-zero-retained.log').open('wb') as log: + result = subprocess.run(['ssh', host, 'cd ' + shlex.quote(remote) + ' && ' + shlex.join(invocation)], stdout=log, stderr=subprocess.STDOUT) +print((w / 'remote-zero-retained.log').read_text(), flush=True) +subprocess.run(['python3', str(w / 'archive-results.py'), slug, 'retained', '--allow-failed-window'], check=True) +d = w.parents[1] / 'results' / slug +for name in ['remote-zero-retained-command.json', 'remote-zero-retained.log', 'remote-stage-hashes.json', 'measure-zero-retained.py']: + shutil.copy2(w / name, d / name) +(d / 'controller-exit.json').write_text(json.dumps({'exit_code': result.returncode}, indent=2) + '\n') +if result.returncode: + raise SystemExit(result.returncode) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/memory.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/memory.jsonl new file mode 100644 index 0000000000..a34f2f65aa --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/memory.jsonl @@ -0,0 +1,224 @@ +{"wall_ms": 0.006917000000000062, "user_us": 7.0, "system_us": 6.0, "rss_before": 12500992.0, "rss_after": 12566528.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62534221, "cycles": 19328056, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.00845899999999844, "user_us": 8.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29671424.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 136872980, "cycles": 47898112, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.010166999999999593, "user_us": 10.0, "system_us": 6.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62434097, "cycles": 19100521, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.007916999999999064, "user_us": 322.0, "system_us": 39.0, "rss_before": 54837248.0, "rss_after": 55394304.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56197120, "instructions": 290849759, "cycles": 99009036, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.010875000000000412, "user_us": 10.0, "system_us": 6.0, "rss_before": 12484608.0, "rss_after": 12599296.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62459985, "cycles": 19128598, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.006791000000000658, "user_us": 8.0, "system_us": 3.0, "rss_before": 12484608.0, "rss_after": 12550144.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13680640, "instructions": 62391804, "cycles": 19063185, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.007958000000000354, "user_us": 9.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29704192.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30130176, "instructions": 136843119, "cycles": 47714188, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.008458000000000965, "user_us": 322.0, "system_us": 35.0, "rss_before": 54820864.0, "rss_after": 55377920.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56164352, "instructions": 291607255, "cycles": 100024937, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.0070830000000001725, "user_us": 7.0, "system_us": 2.0, "rss_before": 12484608.0, "rss_after": 12550144.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13680640, "instructions": 62466337, "cycles": 19167924, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.009792000000000467, "user_us": 9.0, "system_us": 6.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62400313, "cycles": 18998839, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.008083999999998426, "user_us": 321.0, "system_us": 34.0, "rss_before": 54886400.0, "rss_after": 55443456.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 286822170, "cycles": 95660225, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.008124999999999716, "user_us": 8.0, "system_us": 3.0, "rss_before": 29622272.0, "rss_after": 29687808.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 136909803, "cycles": 47687267, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.009875000000000078, "user_us": 9.0, "system_us": 7.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62422635, "cycles": 19141225, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.008166000000001006, "user_us": 9.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29671424.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 136851270, "cycles": 47822803, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.008041000000000409, "user_us": 320.0, "system_us": 30.0, "rss_before": 54935552.0, "rss_after": 55443456.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56279040, "instructions": 293027862, "cycles": 100840683, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.006958000000000464, "user_us": 7.0, "system_us": 3.0, "rss_before": 12484608.0, "rss_after": 12550144.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13680640, "instructions": 62454923, "cycles": 19178923, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.009916999999999732, "user_us": 9.0, "system_us": 7.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62520815, "cycles": 19219372, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.006708999999999854, "user_us": 7.0, "system_us": 3.0, "rss_before": 12484608.0, "rss_after": 12550144.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13680640, "instructions": 62443220, "cycles": 19050825, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008291999999999078, "user_us": 9.0, "system_us": 4.0, "rss_before": 29622272.0, "rss_after": 29687808.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 137021149, "cycles": 47895082, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008124999999999716, "user_us": 327.0, "system_us": 38.0, "rss_before": 54837248.0, "rss_after": 55410688.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56262656, "instructions": 296115094, "cycles": 103412796, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.006750000000000256, "user_us": 7.0, "system_us": 2.0, "rss_before": 12484608.0, "rss_after": 12550144.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13680640, "instructions": 62502356, "cycles": 19162068, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.008208999999999023, "user_us": 8.0, "system_us": 3.0, "rss_before": 29605888.0, "rss_after": 29671424.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30097408, "instructions": 136914542, "cycles": 47831998, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.00808399999999665, "user_us": 322.0, "system_us": 31.0, "rss_before": 54919168.0, "rss_after": 55427072.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56213504, "instructions": 296011848, "cycles": 103445104, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.010249999999999648, "user_us": 10.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62438845, "cycles": 19104670, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.009791000000000327, "user_us": 9.0, "system_us": 4.0, "rss_before": 12468224.0, "rss_after": 12582912.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13729792, "instructions": 62426037, "cycles": 18962681, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.008124999999999716, "user_us": 323.0, "system_us": 40.0, "rss_before": 54788096.0, "rss_after": 55377920.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 56197120, "instructions": 295298904, "cycles": 102421251, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.007458999999999882, "user_us": 8.0, "system_us": 2.0, "rss_before": 12500992.0, "rss_after": 12566528.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62549471, "cycles": 19394149, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.008124999999999716, "user_us": 8.0, "system_us": 3.0, "rss_before": 29622272.0, "rss_after": 29687808.0, "checksum": 7.0, "retained": 1.0, "fixture": "tiny_object", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 136832907, "cycles": 47876266, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 51.34187500000001, "user_us": 49070.0, "system_us": 2277.0, "rss_before": 12468224.0, "rss_after": 37257216.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37781504, "instructions": 959165988, "cycles": 185172033, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 9.464959, "user_us": 8683.0, "system_us": 786.0, "rss_before": 12484608.0, "rss_after": 25657344.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250260367, "cycles": 52336421, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 26.463875, "user_us": 26050.0, "system_us": 1145.0, "rss_before": 29605888.0, "rss_after": 49348608.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49774592, "instructions": 621879631, "cycles": 134883285, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 18.9115, "user_us": 21189.0, "system_us": 1358.0, "rss_before": 54870016.0, "rss_after": 74907648.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75694080, "instructions": 666776645, "cycles": 173875526, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 50.762959, "user_us": 49109.0, "system_us": 1660.0, "rss_before": 12468224.0, "rss_after": 37273600.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37797888, "instructions": 956763049, "cycles": 183116344, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 18.960834, "user_us": 21285.0, "system_us": 1353.0, "rss_before": 54820864.0, "rss_after": 74973184.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75661312, "instructions": 665253843, "cycles": 172841670, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 9.435125, "user_us": 8686.0, "system_us": 752.0, "rss_before": 12484608.0, "rss_after": 25657344.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250228748, "cycles": 52456471, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 26.447458, "user_us": 26047.0, "system_us": 1154.0, "rss_before": 29622272.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 622260628, "cycles": 135332515, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 26.374834000000003, "user_us": 26002.0, "system_us": 1099.0, "rss_before": 29622272.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 621744844, "cycles": 134532314, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 50.826125000000005, "user_us": 49200.0, "system_us": 1632.0, "rss_before": 12468224.0, "rss_after": 37273600.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37797888, "instructions": 956799749, "cycles": 183659147, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 9.393165999999999, "user_us": 8684.0, "system_us": 712.0, "rss_before": 12484608.0, "rss_after": 25657344.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26771456, "instructions": 250200756, "cycles": 52075357, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 18.936583, "user_us": 21179.0, "system_us": 1391.0, "rss_before": 54788096.0, "rss_after": 74874880.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75644928, "instructions": 662508173, "cycles": 170554991, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 19.001708, "user_us": 21323.0, "system_us": 1393.0, "rss_before": 54886400.0, "rss_after": 74907648.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75644928, "instructions": 665735275, "cycles": 173153190, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 9.367417000000001, "user_us": 8660.0, "system_us": 710.0, "rss_before": 12484608.0, "rss_after": 25640960.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26755072, "instructions": 250095271, "cycles": 52304948, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 26.472792000000005, "user_us": 26034.0, "system_us": 1186.0, "rss_before": 29605888.0, "rss_after": 49348608.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49774592, "instructions": 621927052, "cycles": 135163439, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 50.930625000000006, "user_us": 49281.0, "system_us": 1647.0, "rss_before": 12468224.0, "rss_after": 37273600.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37797888, "instructions": 956655425, "cycles": 183142894, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 9.383167, "user_us": 8666.0, "system_us": 721.0, "rss_before": 12484608.0, "rss_after": 25640960.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26755072, "instructions": 250226711, "cycles": 52091064, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 26.408958000000002, "user_us": 26011.0, "system_us": 1138.0, "rss_before": 29622272.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 621851673, "cycles": 134651091, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 18.961667000000002, "user_us": 21128.0, "system_us": 1372.0, "rss_before": 54886400.0, "rss_after": 74924032.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75661312, "instructions": 663077757, "cycles": 170968739, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 50.64, "user_us": 49102.0, "system_us": 1545.0, "rss_before": 12468224.0, "rss_after": 37257216.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37781504, "instructions": 956689917, "cycles": 182897616, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 18.927708, "user_us": 21137.0, "system_us": 1387.0, "rss_before": 54902784.0, "rss_after": 74989568.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75694080, "instructions": 668075008, "cycles": 175549953, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 26.380957999999996, "user_us": 26051.0, "system_us": 1066.0, "rss_before": 29622272.0, "rss_after": 49364992.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49790976, "instructions": 621676018, "cycles": 134976353, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 50.716958000000005, "user_us": 49111.0, "system_us": 1609.0, "rss_before": 12468224.0, "rss_after": 37273600.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37797888, "instructions": 956676952, "cycles": 183035045, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 9.428124999999998, "user_us": 8654.0, "system_us": 777.0, "rss_before": 12484608.0, "rss_after": 25640960.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26755072, "instructions": 250315958, "cycles": 52602844, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 50.773167, "user_us": 49159.0, "system_us": 1618.0, "rss_before": 12484608.0, "rss_after": 37273600.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 37797888, "instructions": 956549344, "cycles": 183057455, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 19.072250000000004, "user_us": 21324.0, "system_us": 1406.0, "rss_before": 54951936.0, "rss_after": 74956800.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 75677696, "instructions": 666059696, "cycles": 173220424, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 26.391791999999995, "user_us": 26034.0, "system_us": 1098.0, "rss_before": 29589504.0, "rss_after": 49332224.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 49758208, "instructions": 621820056, "cycles": 134844102, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 9.385833000000002, "user_us": 8680.0, "system_us": 709.0, "rss_before": 12484608.0, "rss_after": 25640960.0, "checksum": 1400000.0, "retained": 200000.0, "fixture": "tiny_object", "iterations": 200000, "warmup": 0, "peak_rss": 26755072, "instructions": 250222454, "cycles": 52159784, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.009625000000001549, "user_us": 10.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29720576.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 136832700, "cycles": 47770446, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.01033299999999926, "user_us": 324.0, "system_us": 33.0, "rss_before": 54968320.0, "rss_after": 55508992.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56262656, "instructions": 292157333, "cycles": 99936498, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.012791999999999693, "user_us": 12.0, "system_us": 8.0, "rss_before": 12451840.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62508915, "cycles": 19142293, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.008249999999999869, "user_us": 9.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62473569, "cycles": 19121421, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.009916999999999732, "user_us": 11.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29720576.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30146560, "instructions": 137171928, "cycles": 48093683, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.008459000000000216, "user_us": 9.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62442304, "cycles": 19183228, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.012750000000000039, "user_us": 11.0, "system_us": 8.0, "rss_before": 12451840.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62602928, "cycles": 19193706, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.00975000000000037, "user_us": 329.0, "system_us": 37.0, "rss_before": 54837248.0, "rss_after": 55410688.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56180736, "instructions": 300996888, "cycles": 107550455, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.009709000000000856, "user_us": 10.0, "system_us": 2.0, "rss_before": 29638656.0, "rss_after": 29704192.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30130176, "instructions": 136856105, "cycles": 47847655, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.008540999999999688, "user_us": 9.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62475849, "cycles": 19119672, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.00975000000000037, "user_us": 330.0, "system_us": 36.0, "rss_before": 54870016.0, "rss_after": 55443456.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 291202416, "cycles": 99238560, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.012417000000000122, "user_us": 11.0, "system_us": 8.0, "rss_before": 12468224.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13762560, "instructions": 62556986, "cycles": 19392490, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.008624999999999883, "user_us": 9.0, "system_us": 4.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62496799, "cycles": 19126882, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.01245800000000008, "user_us": 11.0, "system_us": 5.0, "rss_before": 12451840.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62451426, "cycles": 19045001, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.00945800000000041, "user_us": 10.0, "system_us": 3.0, "rss_before": 29638656.0, "rss_after": 29704192.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30130176, "instructions": 136906268, "cycles": 47718479, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.009791999999997358, "user_us": 329.0, "system_us": 37.0, "rss_before": 54902784.0, "rss_after": 55476224.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56262656, "instructions": 293704313, "cycles": 101851494, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.009790999999999883, "user_us": 10.0, "system_us": 3.0, "rss_before": 29638656.0, "rss_after": 29704192.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30130176, "instructions": 137041400, "cycles": 47951426, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008542000000000272, "user_us": 8.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62580541, "cycles": 19487915, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.01262500000000033, "user_us": 10.0, "system_us": 8.0, "rss_before": 12451840.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62561020, "cycles": 19245860, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.009624999999999773, "user_us": 323.0, "system_us": 32.0, "rss_before": 54968320.0, "rss_after": 55476224.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 297259794, "cycles": 104156597, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.008542000000000272, "user_us": 8.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62556415, "cycles": 19543111, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.012499999999999734, "user_us": 11.0, "system_us": 4.0, "rss_before": 12451840.0, "rss_after": 12599296.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13746176, "instructions": 62495946, "cycles": 19375310, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.009707999999999828, "user_us": 325.0, "system_us": 39.0, "rss_before": 54935552.0, "rss_after": 55492608.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56246272, "instructions": 293136094, "cycles": 101323086, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.009833999999999676, "user_us": 10.0, "system_us": 3.0, "rss_before": 29622272.0, "rss_after": 29687808.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30113792, "instructions": 136976319, "cycles": 48060065, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.008541999999999828, "user_us": 8.0, "system_us": 3.0, "rss_before": 12468224.0, "rss_after": 12566528.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13697024, "instructions": 62549593, "cycles": 19233349, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.009583000000001007, "user_us": 10.0, "system_us": 3.0, "rss_before": 29704192.0, "rss_after": 29769728.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 30195712, "instructions": 137479686, "cycles": 48175223, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.01229199999999997, "user_us": 11.0, "system_us": 7.0, "rss_before": 12468224.0, "rss_after": 12615680.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 13762560, "instructions": 62545764, "cycles": 19188300, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.009832999999996872, "user_us": 328.0, "system_us": 52.0, "rss_before": 54902784.0, "rss_after": 55459840.0, "checksum": 107.0, "retained": 1.0, "fixture": "small_record", "iterations": 1, "warmup": 0, "peak_rss": 56279040, "instructions": 293701886, "cycles": 101648858, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 40.20875, "user_us": 39478.0, "system_us": 1503.0, "rss_before": 29704192.0, "rss_after": 53657600.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54083584, "instructions": 877041241, "cycles": 179271832, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 29.589375, "user_us": 30638.0, "system_us": 1998.0, "rss_before": 55001088.0, "rss_after": 84508672.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85245952, "instructions": 858332850, "cycles": 209517470, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 6.799166999999999, "user_us": 5785.0, "system_us": 1017.0, "rss_before": 12468224.0, "rss_after": 28966912.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30081024, "instructions": 171424455, "cycles": 42584762, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 46.26525, "user_us": 44940.0, "system_us": 1329.0, "rss_before": 12451840.0, "rss_after": 32260096.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40386560, "instructions": 1028841348, "cycles": 197246520, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 6.662125000000001, "user_us": 5781.0, "system_us": 888.0, "rss_before": 12484608.0, "rss_after": 28983296.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171286886, "cycles": 41524871, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 40.287, "user_us": 39347.0, "system_us": 1687.0, "rss_before": 29638656.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 876553854, "cycles": 179443637, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 29.768083000000004, "user_us": 30210.0, "system_us": 1962.0, "rss_before": 54919168.0, "rss_after": 84410368.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85147648, "instructions": 859005844, "cycles": 208703841, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 46.151333, "user_us": 44878.0, "system_us": 1280.0, "rss_before": 12451840.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028741355, "cycles": 196659208, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 6.774667, "user_us": 5789.0, "system_us": 988.0, "rss_before": 12468224.0, "rss_after": 28983296.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171378980, "cycles": 42309635, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 46.144166999999996, "user_us": 44898.0, "system_us": 1252.0, "rss_before": 12468224.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028550114, "cycles": 196766651, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 29.769999999999996, "user_us": 30175.0, "system_us": 2048.0, "rss_before": 54902784.0, "rss_after": 84393984.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85164032, "instructions": 856924772, "cycles": 207435655, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 40.008333, "user_us": 39354.0, "system_us": 1390.0, "rss_before": 29655040.0, "rss_after": 53608448.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54034432, "instructions": 876627943, "cycles": 178486323, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 40.235333, "user_us": 39536.0, "system_us": 1421.0, "rss_before": 29638656.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 876408688, "cycles": 178546296, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 46.157917000000005, "user_us": 44913.0, "system_us": 1248.0, "rss_before": 12451840.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028512522, "cycles": 197335497, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 6.642333000000001, "user_us": 5778.0, "system_us": 867.0, "rss_before": 12484608.0, "rss_after": 28983296.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171342069, "cycles": 41491477, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 29.647582999999997, "user_us": 30673.0, "system_us": 2015.0, "rss_before": 54853632.0, "rss_after": 84312064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85000192, "instructions": 853019317, "cycles": 204808500, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 40.059292, "user_us": 39385.0, "system_us": 1423.0, "rss_before": 29638656.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 876380913, "cycles": 178554507, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 6.722458999999999, "user_us": 5789.0, "system_us": 937.0, "rss_before": 12468224.0, "rss_after": 28983296.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171398464, "cycles": 41950439, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 29.689999999999998, "user_us": 30211.0, "system_us": 1886.0, "rss_before": 54870016.0, "rss_after": 84344832.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85082112, "instructions": 853452558, "cycles": 204317233, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 46.228959, "user_us": 44905.0, "system_us": 1328.0, "rss_before": 12451840.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028752754, "cycles": 197654566, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 6.653999999999999, "user_us": 5779.0, "system_us": 883.0, "rss_before": 12468224.0, "rss_after": 28966912.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30081024, "instructions": 171364867, "cycles": 41459898, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 39.910458000000006, "user_us": 39334.0, "system_us": 1322.0, "rss_before": 29638656.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 876411127, "cycles": 178407342, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 46.22795800000001, "user_us": 44981.0, "system_us": 1254.0, "rss_before": 12468224.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028597047, "cycles": 196497048, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 29.998165999999998, "user_us": 30365.0, "system_us": 2129.0, "rss_before": 54853632.0, "rss_after": 84393984.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85164032, "instructions": 852529580, "cycles": 204527723, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 46.18225, "user_us": 44895.0, "system_us": 1294.0, "rss_before": 12468224.0, "rss_after": 32276480.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 40402944, "instructions": 1028639843, "cycles": 197047319, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 40.036959, "user_us": 39429.0, "system_us": 1353.0, "rss_before": 29638656.0, "rss_after": 53592064.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 54018048, "instructions": 876364859, "cycles": 178646743, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 29.674625, "user_us": 30583.0, "system_us": 2080.0, "rss_before": 54902784.0, "rss_after": 84426752.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 85180416, "instructions": 854421566, "cycles": 205876963, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.709791999999999, "user_us": 5778.0, "system_us": 938.0, "rss_before": 12468224.0, "rss_after": 28983296.0, "checksum": 10700000.0, "retained": 100000.0, "fixture": "small_record", "iterations": 100000, "warmup": 0, "peak_rss": 30097408, "instructions": 171496429, "cycles": 42230149, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.2638330000000009, "user_us": 144.0, "system_us": 128.0, "rss_before": 17367040.0, "rss_after": 19726336.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20856832, "instructions": 72530143, "cycles": 22592855, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.6822499999999998, "user_us": 1020.0, "system_us": 198.0, "rss_before": 60588032.0, "rss_after": 63700992.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64651264, "instructions": 314019502, "cycles": 106480916, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.1286670000000001, "user_us": 76.0, "system_us": 60.0, "rss_before": 17383424.0, "rss_after": 18530304.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71482506, "cycles": 22330060, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.6457920000000001, "user_us": 537.0, "system_us": 112.0, "rss_before": 33095680.0, "rss_after": 35291136.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35717120, "instructions": 150196832, "cycles": 50984605, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.6681249999999999, "user_us": 534.0, "system_us": 138.0, "rss_before": 33062912.0, "rss_after": 35258368.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35684352, "instructions": 150200883, "cycles": 50941144, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.27966600000000064, "user_us": 149.0, "system_us": 134.0, "rss_before": 17350656.0, "rss_after": 19709952.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20840448, "instructions": 72652246, "cycles": 23103905, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.12849999999999895, "user_us": 76.0, "system_us": 56.0, "rss_before": 17383424.0, "rss_after": 18530304.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71583392, "cycles": 22299046, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.6870000000000012, "user_us": 1020.0, "system_us": 223.0, "rss_before": 60604416.0, "rss_after": 63717376.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64618496, "instructions": 313234785, "cycles": 105347150, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.1287919999999998, "user_us": 76.0, "system_us": 59.0, "rss_before": 17383424.0, "rss_after": 18530304.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71449570, "cycles": 22239292, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.6877500000000012, "user_us": 1017.0, "system_us": 219.0, "rss_before": 60669952.0, "rss_after": 63782912.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64684032, "instructions": 317965617, "cycles": 109447346, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.6459580000000003, "user_us": 536.0, "system_us": 113.0, "rss_before": 33062912.0, "rss_after": 35258368.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35684352, "instructions": 150178665, "cycles": 51014317, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.2861250000000002, "user_us": 144.0, "system_us": 145.0, "rss_before": 17350656.0, "rss_after": 19709952.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20840448, "instructions": 72524683, "cycles": 22587570, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.26058300000000045, "user_us": 143.0, "system_us": 121.0, "rss_before": 17350656.0, "rss_after": 19709952.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20840448, "instructions": 72541179, "cycles": 22382123, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.6989579999999975, "user_us": 992.0, "system_us": 215.0, "rss_before": 60604416.0, "rss_after": 63700992.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64618496, "instructions": 313420925, "cycles": 106066108, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.6652919999999991, "user_us": 538.0, "system_us": 132.0, "rss_before": 33193984.0, "rss_after": 35389440.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35815424, "instructions": 150965403, "cycles": 51743132, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.12449999999999939, "user_us": 77.0, "system_us": 51.0, "rss_before": 17367040.0, "rss_after": 18513920.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71388424, "cycles": 22236227, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.13079100000000032, "user_us": 76.0, "system_us": 59.0, "rss_before": 17383424.0, "rss_after": 18530304.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19644416, "instructions": 71455282, "cycles": 22224626, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.6755829999999996, "user_us": 1025.0, "system_us": 208.0, "rss_before": 60620800.0, "rss_after": 63750144.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64651264, "instructions": 316275891, "cycles": 108215077, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.6415000000000006, "user_us": 535.0, "system_us": 109.0, "rss_before": 33095680.0, "rss_after": 35291136.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35717120, "instructions": 150275190, "cycles": 51198779, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.2567080000000006, "user_us": 145.0, "system_us": 119.0, "rss_before": 17367040.0, "rss_after": 19726336.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20856832, "instructions": 72563801, "cycles": 22730329, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.27700000000000014, "user_us": 147.0, "system_us": 134.0, "rss_before": 17367040.0, "rss_after": 19726336.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20856832, "instructions": 72539206, "cycles": 22512613, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.6934170000000002, "user_us": 1030.0, "system_us": 227.0, "rss_before": 60669952.0, "rss_after": 63815680.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64700416, "instructions": 317955546, "cycles": 109693914, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.6403339999999993, "user_us": 535.0, "system_us": 109.0, "rss_before": 33095680.0, "rss_after": 35291136.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35717120, "instructions": 150339604, "cycles": 50866692, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.13695900000000094, "user_us": 77.0, "system_us": 68.0, "rss_before": 17367040.0, "rss_after": 18513920.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71409725, "cycles": 22293115, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.686083, "user_us": 1023.0, "system_us": 228.0, "rss_before": 60555264.0, "rss_after": 63684608.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 64618496, "instructions": 312596594, "cycles": 105709782, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.2566670000000002, "user_us": 145.0, "system_us": 116.0, "rss_before": 17350656.0, "rss_after": 19726336.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 20856832, "instructions": 72535658, "cycles": 22518344, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.12708299999999983, "user_us": 76.0, "system_us": 54.0, "rss_before": 17367040.0, "rss_after": 18513920.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 19628032, "instructions": 71482911, "cycles": 22646526, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.6435000000000013, "user_us": 538.0, "system_us": 112.0, "rss_before": 33062912.0, "rss_after": 35258368.0, "checksum": 1048594.0, "retained": 1.0, "fixture": "long_string_1m", "iterations": 1, "warmup": 0, "peak_rss": 35684352, "instructions": 150274325, "cycles": 51139248, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 5.9795, "user_us": 3391.0, "system_us": 2592.0, "rss_before": 17383424.0, "rss_after": 53755904.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54296576, "instructions": 130515534, "cycles": 41726276, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 19.019916000000002, "user_us": 17271.0, "system_us": 2196.0, "rss_before": 33095680.0, "rss_after": 67895296.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68321280, "instructions": 466240175, "cycles": 111173911, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 14.967875, "user_us": 13345.0, "system_us": 2176.0, "rss_before": 60719104.0, "rss_after": 97009664.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97943552, "instructions": 578925223, "cycles": 153337014, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 7.880667000000002, "user_us": 5903.0, "system_us": 1983.0, "rss_before": 17350656.0, "rss_after": 54935552.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55459840, "instructions": 171744158, "cycles": 48002000, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 14.963040999999997, "user_us": 13372.0, "system_us": 2187.0, "rss_before": 60555264.0, "rss_after": 96927744.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97845248, "instructions": 580452440, "cycles": 154379145, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 7.895209000000001, "user_us": 5844.0, "system_us": 2054.0, "rss_before": 17350656.0, "rss_after": 54951936.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55476224, "instructions": 171551881, "cycles": 47580820, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 18.915459, "user_us": 17261.0, "system_us": 2082.0, "rss_before": 33144832.0, "rss_after": 67977216.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68403200, "instructions": 467025752, "cycles": 111351933, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 5.4808330000000005, "user_us": 3439.0, "system_us": 2049.0, "rss_before": 17367040.0, "rss_after": 53739520.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54280192, "instructions": 128123138, "cycles": 39989057, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 18.811291, "user_us": 17223.0, "system_us": 1932.0, "rss_before": 33079296.0, "rss_after": 67862528.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68288512, "instructions": 465724872, "cycles": 110141902, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 5.508292, "user_us": 3447.0, "system_us": 2069.0, "rss_before": 17367040.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54263808, "instructions": 128151226, "cycles": 40393779, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 7.917375, "user_us": 5969.0, "system_us": 1956.0, "rss_before": 17367040.0, "rss_after": 54951936.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55476224, "instructions": 171886553, "cycles": 48008891, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 14.960958999999999, "user_us": 13367.0, "system_us": 2168.0, "rss_before": 60653568.0, "rss_after": 96976896.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97894400, "instructions": 583506243, "cycles": 157050738, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 14.956708999999996, "user_us": 13377.0, "system_us": 2165.0, "rss_before": 60637184.0, "rss_after": 96927744.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97861632, "instructions": 582889398, "cycles": 156976365, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 5.406083999999999, "user_us": 3452.0, "system_us": 1957.0, "rss_before": 17383424.0, "rss_after": 53723136.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54263808, "instructions": 128177840, "cycles": 39904723, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 18.95075, "user_us": 17261.0, "system_us": 2114.0, "rss_before": 33112064.0, "rss_after": 67911680.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68337664, "instructions": 466469825, "cycles": 111345689, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 7.8792089999999995, "user_us": 5936.0, "system_us": 1947.0, "rss_before": 17350656.0, "rss_after": 54902784.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55427072, "instructions": 171648899, "cycles": 47606944, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 7.892958999999999, "user_us": 5917.0, "system_us": 1980.0, "rss_before": 17350656.0, "rss_after": 54951936.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55476224, "instructions": 171640824, "cycles": 47433490, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 14.973333, "user_us": 13392.0, "system_us": 2168.0, "rss_before": 60588032.0, "rss_after": 96960512.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97910784, "instructions": 580037261, "cycles": 154003977, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 18.932916, "user_us": 17276.0, "system_us": 2094.0, "rss_before": 33095680.0, "rss_after": 67911680.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68337664, "instructions": 466363484, "cycles": 111106828, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 5.392666999999999, "user_us": 3414.0, "system_us": 1982.0, "rss_before": 17383424.0, "rss_after": 53755904.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54296576, "instructions": 128182928, "cycles": 39592346, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 14.938041000000002, "user_us": 13399.0, "system_us": 2137.0, "rss_before": 60653568.0, "rss_after": 96960512.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97861632, "instructions": 576540360, "cycles": 151231754, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.428208, "user_us": 3408.0, "system_us": 2025.0, "rss_before": 17383424.0, "rss_after": 53755904.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54296576, "instructions": 128093189, "cycles": 39814045, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 18.93775, "user_us": 17236.0, "system_us": 2093.0, "rss_before": 33112064.0, "rss_after": 67928064.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68354048, "instructions": 466300951, "cycles": 111174656, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 8.158542, "user_us": 5956.0, "system_us": 2207.0, "rss_before": 17350656.0, "rss_after": 54902784.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55427072, "instructions": 171666042, "cycles": 48386701, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 7.967083, "user_us": 5882.0, "system_us": 2092.0, "rss_before": 17367040.0, "rss_after": 54951936.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 55476224, "instructions": 171672036, "cycles": 48050440, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 19.031166999999996, "user_us": 17290.0, "system_us": 2186.0, "rss_before": 33112064.0, "rss_after": 67928064.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 68354048, "instructions": 466214340, "cycles": 111545713, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 5.430832999999999, "user_us": 3401.0, "system_us": 2037.0, "rss_before": 17383424.0, "rss_after": 53755904.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 54296576, "instructions": 128302550, "cycles": 39790222, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 14.989083, "user_us": 13378.0, "system_us": 2192.0, "rss_before": 60538880.0, "rss_after": 96944128.0, "checksum": 33555008.0, "retained": 32.0, "fixture": "long_string_1m", "iterations": 32, "warmup": 0, "peak_rss": 97910784, "instructions": 585764981, "cycles": 159221534, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.28462500000000057, "user_us": 176.0, "system_us": 112.0, "rss_before": 16318464.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71061075, "cycles": 22266519, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.11304100000000039, "user_us": 65.0, "system_us": 52.0, "rss_before": 16351232.0, "rss_after": 17334272.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69287956, "cycles": 21296810, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.5724169999999997, "user_us": 449.0, "system_us": 127.0, "rss_before": 33734656.0, "rss_after": 35717120.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36143104, "instructions": 156301864, "cycles": 52930542, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.8294999999999995, "user_us": 1167.0, "system_us": 212.0, "rss_before": 60997632.0, "rss_after": 63848448.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64503808, "instructions": 325773721, "cycles": 111753009, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 0.8121660000000013, "user_us": 1168.0, "system_us": 202.0, "rss_before": 61030400.0, "rss_after": 63848448.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64585728, "instructions": 324708822, "cycles": 110405296, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.5544170000000008, "user_us": 447.0, "system_us": 111.0, "rss_before": 33751040.0, "rss_after": 35733504.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36159488, "instructions": 156291626, "cycles": 52878473, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.11120799999999997, "user_us": 65.0, "system_us": 52.0, "rss_before": 16351232.0, "rss_after": 17334272.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69300325, "cycles": 21633605, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.28024999999999967, "user_us": 176.0, "system_us": 107.0, "rss_before": 16334848.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71148536, "cycles": 22077776, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 0.11174999999999935, "user_us": 66.0, "system_us": 49.0, "rss_before": 16334848.0, "rss_after": 17317888.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18432000, "instructions": 69233878, "cycles": 21448720, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.8296670000000006, "user_us": 1188.0, "system_us": 213.0, "rss_before": 61014016.0, "rss_after": 63897600.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64602112, "instructions": 322272034, "cycles": 108164215, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.3008329999999999, "user_us": 177.0, "system_us": 127.0, "rss_before": 16334848.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71119101, "cycles": 22326786, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.5506250000000001, "user_us": 446.0, "system_us": 108.0, "rss_before": 33718272.0, "rss_after": 35684352.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36110336, "instructions": 156213948, "cycles": 53021480, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 0.11375000000000002, "user_us": 66.0, "system_us": 51.0, "rss_before": 16334848.0, "rss_after": 17317888.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18432000, "instructions": 69273158, "cycles": 21385521, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.8157079999999972, "user_us": 1181.0, "system_us": 214.0, "rss_before": 61063168.0, "rss_after": 63930368.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64602112, "instructions": 321174421, "cycles": 107802409, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.2725000000000004, "user_us": 176.0, "system_us": 103.0, "rss_before": 16334848.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71091810, "cycles": 22027855, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.5848750000000003, "user_us": 447.0, "system_us": 141.0, "rss_before": 33800192.0, "rss_after": 35782656.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36208640, "instructions": 156942129, "cycles": 53201549, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 0.1093329999999999, "user_us": 65.0, "system_us": 47.0, "rss_before": 16351232.0, "rss_after": 17334272.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69307983, "cycles": 22058603, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.5357079999999996, "user_us": 446.0, "system_us": 93.0, "rss_before": 33718272.0, "rss_after": 35684352.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36110336, "instructions": 156284452, "cycles": 52416080, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.28033399999999986, "user_us": 175.0, "system_us": 108.0, "rss_before": 16318464.0, "rss_after": 18300928.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19431424, "instructions": 71047460, "cycles": 22101321, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.8165419999999983, "user_us": 1177.0, "system_us": 204.0, "rss_before": 61030400.0, "rss_after": 63897600.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64585728, "instructions": 326502958, "cycles": 112181282, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 0.11158400000000013, "user_us": 66.0, "system_us": 50.0, "rss_before": 16334848.0, "rss_after": 17317888.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18432000, "instructions": 69312565, "cycles": 21618790, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.5473750000000006, "user_us": 447.0, "system_us": 104.0, "rss_before": 33767424.0, "rss_after": 35733504.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36159488, "instructions": 157162793, "cycles": 53200269, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.2826249999999999, "user_us": 176.0, "system_us": 109.0, "rss_before": 16318464.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71051840, "cycles": 22124199, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.8264999999999993, "user_us": 1180.0, "system_us": 214.0, "rss_before": 60964864.0, "rss_after": 63815680.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64503808, "instructions": 335294696, "cycles": 119321422, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 0.5679590000000001, "user_us": 451.0, "system_us": 121.0, "rss_before": 33701888.0, "rss_after": 35684352.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 36110336, "instructions": 156217970, "cycles": 53240645, "engine": "bun", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.11312499999999925, "user_us": 68.0, "system_us": 50.0, "rss_before": 16351232.0, "rss_after": 17334272.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 18448384, "instructions": 69305033, "cycles": 21758696, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.8399999999999999, "user_us": 1174.0, "system_us": 217.0, "rss_before": 61046784.0, "rss_after": 63897600.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 64602112, "instructions": 328991484, "cycles": 113944289, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 0.2780419999999997, "user_us": 175.0, "system_us": 109.0, "rss_before": 16334848.0, "rss_after": 18317312.0, "checksum": 468018.0, "retained": 1.0, "fixture": "unicode_1m", "iterations": 1, "warmup": 0, "peak_rss": 19447808, "instructions": 71046762, "cycles": 22062129, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 2.1083749999999997, "user_us": 653.0, "system_us": 1462.0, "rss_before": 16351232.0, "rss_after": 43941888.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85781720, "cycles": 28507853, "engine": "perry", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 5.998249999999999, "user_us": 4485.0, "system_us": 1517.0, "rss_before": 16334848.0, "rss_after": 44924928.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46055424, "instructions": 149330716, "cycles": 40853517, "engine": "baseline", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 15.557167, "user_us": 13739.0, "system_us": 1822.0, "rss_before": 33767424.0, "rss_after": 64831488.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65257472, "instructions": 381047123, "cycles": 100810059, "engine": "bun", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 19.396375, "user_us": 18025.0, "system_us": 1999.0, "rss_before": 61112320.0, "rss_after": 93552640.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94224384, "instructions": 683434083, "cycles": 167873756, "engine": "node", "operation": "retain-stringify", "rep": 0} +{"wall_ms": 19.326916, "user_us": 17994.0, "system_us": 1989.0, "rss_before": 61014016.0, "rss_after": 93503488.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94208000, "instructions": 691417087, "cycles": 174583554, "engine": "node", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.469125, "user_us": 13739.0, "system_us": 1733.0, "rss_before": 33701888.0, "rss_after": 64749568.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65175552, "instructions": 380636870, "cycles": 100676070, "engine": "bun", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 6.0755, "user_us": 4483.0, "system_us": 1596.0, "rss_before": 16318464.0, "rss_after": 44924928.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46055424, "instructions": 149287475, "cycles": 41083104, "engine": "baseline", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 2.212417, "user_us": 650.0, "system_us": 1570.0, "rss_before": 16334848.0, "rss_after": 43925504.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45039616, "instructions": 85778973, "cycles": 29194633, "engine": "perry", "operation": "retain-stringify", "rep": 1} +{"wall_ms": 15.469292, "user_us": 13735.0, "system_us": 1738.0, "rss_before": 33701888.0, "rss_after": 64749568.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65175552, "instructions": 380818379, "cycles": 100468708, "engine": "bun", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 19.38425, "user_us": 18035.0, "system_us": 1990.0, "rss_before": 61145088.0, "rss_after": 93650944.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94306304, "instructions": 690574297, "cycles": 173637028, "engine": "node", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 6.086417, "user_us": 4495.0, "system_us": 1598.0, "rss_before": 16334848.0, "rss_after": 44924928.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46055424, "instructions": 149292486, "cycles": 41194990, "engine": "baseline", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 2.2126669999999997, "user_us": 654.0, "system_us": 1562.0, "rss_before": 16334848.0, "rss_after": 43925504.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45039616, "instructions": 85730908, "cycles": 28695920, "engine": "perry", "operation": "retain-stringify", "rep": 2} +{"wall_ms": 15.452666, "user_us": 13737.0, "system_us": 1719.0, "rss_before": 33718272.0, "rss_after": 64765952.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65191936, "instructions": 380872714, "cycles": 100304612, "engine": "bun", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 2.2649170000000005, "user_us": 666.0, "system_us": 1605.0, "rss_before": 16351232.0, "rss_after": 43941888.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85786834, "cycles": 29459669, "engine": "perry", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 19.458417000000004, "user_us": 18093.0, "system_us": 1991.0, "rss_before": 61161472.0, "rss_after": 93585408.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94273536, "instructions": 690945078, "cycles": 174093419, "engine": "node", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 6.063915999999999, "user_us": 4494.0, "system_us": 1576.0, "rss_before": 16318464.0, "rss_after": 44908544.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46039040, "instructions": 149403327, "cycles": 41424086, "engine": "baseline", "operation": "retain-stringify", "rep": 3} +{"wall_ms": 19.411292000000003, "user_us": 18055.0, "system_us": 1979.0, "rss_before": 60981248.0, "rss_after": 93487104.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94208000, "instructions": 686976940, "cycles": 170491271, "engine": "node", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.3905, "user_us": 13723.0, "system_us": 1671.0, "rss_before": 33718272.0, "rss_after": 64765952.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65191936, "instructions": 380711756, "cycles": 100723532, "engine": "bun", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 6.058125, "user_us": 4487.0, "system_us": 1577.0, "rss_before": 16318464.0, "rss_after": 44908544.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46039040, "instructions": 149271206, "cycles": 41308712, "engine": "baseline", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 2.230791999999999, "user_us": 658.0, "system_us": 1576.0, "rss_before": 16351232.0, "rss_after": 43941888.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85647511, "cycles": 28835410, "engine": "perry", "operation": "retain-stringify", "rep": 4} +{"wall_ms": 15.359124999999999, "user_us": 13731.0, "system_us": 1632.0, "rss_before": 33800192.0, "rss_after": 64864256.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65290240, "instructions": 381446123, "cycles": 100430381, "engine": "bun", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 19.498917, "user_us": 18060.0, "system_us": 2060.0, "rss_before": 60997632.0, "rss_after": 93470720.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94142464, "instructions": 688574256, "cycles": 172224090, "engine": "node", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 5.999041999999999, "user_us": 4497.0, "system_us": 1505.0, "rss_before": 16318464.0, "rss_after": 44924928.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46055424, "instructions": 149372061, "cycles": 41230697, "engine": "baseline", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 2.207834, "user_us": 658.0, "system_us": 1555.0, "rss_before": 16334848.0, "rss_after": 43925504.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45039616, "instructions": 85637809, "cycles": 28592670, "engine": "perry", "operation": "retain-stringify", "rep": 5} +{"wall_ms": 19.748541999999997, "user_us": 18072.0, "system_us": 2311.0, "rss_before": 60964864.0, "rss_after": 93503488.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 94175232, "instructions": 689085038, "cycles": 172846406, "engine": "node", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 6.059791999999999, "user_us": 4496.0, "system_us": 1570.0, "rss_before": 16334848.0, "rss_after": 44924928.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 46055424, "instructions": 149364208, "cycles": 41262933, "engine": "baseline", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 2.2308330000000005, "user_us": 647.0, "system_us": 1587.0, "rss_before": 16351232.0, "rss_after": 43941888.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 45056000, "instructions": 85651337, "cycles": 28707204, "engine": "perry", "operation": "retain-stringify", "rep": 6} +{"wall_ms": 15.601833999999998, "user_us": 13731.0, "system_us": 1875.0, "rss_before": 33718272.0, "rss_after": 64765952.0, "checksum": 14976576.0, "retained": 32.0, "fixture": "unicode_1m", "iterations": 32, "warmup": 0, "peak_rss": 65191936, "instructions": 380654824, "cycles": 101048803, "engine": "bun", "operation": "retain-stringify", "rep": 6} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.js new file mode 100644 index 0000000000..ff661e013c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.js @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input = JSON.parse('{"data":' + source + '}').data; +const keys = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last = null; +function identity(key, value) { return value; } +function run(count) { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.ts new file mode 100644 index 0000000000..f2544147e2 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.ts @@ -0,0 +1,56 @@ +import { readFileSync } from 'node:fs'; +const source = readFileSync(process.argv[2], 'utf8'); +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const input: any = JSON.parse('{"data":' + source + '}').data; +const keys: string[] = ['id', 'name', 'email', 'active', 'score', 'tags']; +let last: any = null; +function identity(key: string, value: any): any { return value; } +function run(count: number): number { + let sum = 0; + if (operation === 'plain') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input); + sum += result.length; last = result; + } + } else if (operation === 'dynamic-zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; last = result; + } + } else if (operation === 'zero') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 0); + sum += result.length; last = result; + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; last = result; + } + } else if (operation === 'keys') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, keys); + sum += result.length; last = result; + } + } else if (operation === 'callback') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, identity); + sum += result.length; last = result; + } + } + return sum; +} +let checksum = run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsed = performance.now() - started; +const cpuAfter = process.cpuUsage(); +console.log('RESULT', elapsed, cpuAfter.user - cpuBefore.user, + cpuAfter.system - cpuBefore.system, rssBefore, process.memoryUsage().rss, checksum, 0); +if (process.argv[6] === 'verify') console.log('VERIFY', last); +console.log('KEEP', input === null ? 0 : 1, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-after.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-after.txt new file mode 100644 index 0000000000..d65f4f0491 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-after.txt @@ -0,0 +1,566 @@ + PID %CPU COMM + 1 0.0 /sbin/launchd + 94 0.1 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.1 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.2 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 0.0 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.0 /usr/sbin/bluetoothd + 161 0.5 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 7.9 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 1.1 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 5.5 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.0 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 0.1 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.0 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.0 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5427 0.0 sshd-session: perry [priv] + 5428 0.0 + 5430 0.0 sshd-session: perry@notty + 5431 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 5975 0.0 ps + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 9.1 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 2.6 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-before.txt b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-before.txt new file mode 100644 index 0000000000..0d1365e90a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-before.txt @@ -0,0 +1,566 @@ + PID %CPU COMM + 1 1.1 /sbin/launchd + 94 0.6 /usr/libexec/logd + 95 0.0 /usr/libexec/smd + 96 0.0 /usr/libexec/UserEventAgent + 98 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd + 102 0.0 /usr/sbin/systemstats + 104 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd + 106 0.0 /usr/libexec/configd + 107 0.0 endpointsecurityd + 108 0.0 /System/Library/CoreServices/powerd.bundle/powerd + 109 0.0 /usr/libexec/IOMFB_bics_daemon + 111 0.0 /usr/libexec/amfid + 113 0.0 /usr/libexec/remoted + 115 0.0 /usr/libexec/keybagd + 116 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated + 117 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system + 119 0.0 /usr/libexec/watchdogd + 123 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds + 124 0.0 /System/Library/CoreServices/iconservicesd + 125 0.0 /usr/libexec/kernelmanagerd + 126 0.0 /usr/libexec/diskarbitrationd + 129 0.0 /usr/libexec/coreduetd + 130 0.0 /usr/sbin/syslogd + 132 0.0 /usr/libexec/thermalmonitord + 133 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored + 134 0.0 /usr/libexec/xprotectd + 135 4.2 /usr/libexec/opendirectoryd + 136 0.0 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd + 137 0.0 /System/Library/CoreServices/launchservicesd + 138 0.0 /usr/libexec/timed + 139 0.0 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd + 140 0.0 /usr/sbin/securityd + 142 0.0 /usr/libexec/locationd + 143 0.0 /usr/libexec/nesessionmanager + 145 0.0 autofsd + 146 0.0 /usr/libexec/dasd + 147 0.0 /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kdc + 148 0.0 /usr/libexec/corerepaird + 150 0.0 /usr/sbin/distnoted + 154 0.0 /System/Library/CoreServices/logind + 155 0.0 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond + 156 0.0 /usr/sbin/KernelEventAgent + 158 0.0 /usr/libexec/usermanagerd + 160 0.1 /usr/sbin/bluetoothd + 161 0.8 /usr/sbin/notifyd + 162 0.0 /usr/libexec/sandboxd + 163 0.0 /usr/libexec/corebrightnessd + 164 0.0 /usr/libexec/AirPlayXPCHelper + 165 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/com.apple.cmio.registerassistantservice + 167 10.0 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer + 168 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 169 0.0 /usr/sbin/cfprefsd + 170 0.0 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow + 172 0.0 /usr/libexec/runningboardd + 173 0.0 /System/Library/CoreServices/coreservicesd + 174 0.0 /usr/libexec/trustd + 176 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd + 177 0.0 /usr/sbin/coreaudiod + 179 0.0 /usr/libexec/PowerUIAgent + 181 0.0 /usr/sbin/mDNSResponder + 183 0.0 /usr/libexec/apfsd + 184 0.0 /usr/libexec/nsurlsessiond + 185 0.0 /usr/libexec/nehelper + 190 0.0 /usr/libexec/airportd + 194 0.0 /usr/libexec/lsd + 195 0.0 /usr/libexec/logd_helper + 197 0.0 /usr/libexec/symptomsd + 198 0.0 /usr/sbin/distnoted + 206 0.0 /usr/libexec/mobileassetd + 207 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd + 208 0.0 /usr/sbin/distnoted + 209 0.0 /usr/libexec/eligibilityd + 213 0.0 /usr/libexec/hidd + 220 0.0 /usr/libexec/ApplicationFirewall/socketfilterfw + 221 0.0 /usr/sbin/distnoted + 235 0.0 /usr/libexec/syspolicyd + 251 0.0 Core Audio Driver (ParrotAudioPlugin.driver) + 254 0.0 /usr/libexec/audiomxd + 262 0.0 /usr/sbin/mDNSResponderHelper + 265 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/biomed + 270 0.0 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper + 271 0.0 /usr/libexec/securityd_system + 272 0.0 /System/Library/CoreServices/TimeMachine/backupd + 282 0.0 /usr/sbin/WirelessRadioManagerd + 284 0.0 /System/Library/CoreServices/appleeventsd + 285 0.0 /usr/sbin/distnoted + 287 0.1 /usr/libexec/audioclocksyncd + 289 0.0 /usr/libexec/com.apple.cmio.videodriverkithostextension.systemextension/Contents/MacOS/com.apple.cmio.videodriverkithostextension + 291 0.0 /usr/libexec/storagekitd + 297 0.0 /usr/libexec/mobileactivationd + 300 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd + 301 0.0 /usr/libexec/cameracaptured + 302 0.0 /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/UVCAssistant.systemextension/Contents/MacOS/UVCAssistant + 303 0.0 /System/Library/CoreServices/osanalyticshelper + 305 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 306 0.0 /usr/sbin/distnoted + 310 0.0 /System/Library/DriverExtensions/com.apple.DriverKit-IOUserDockChannelSerial.dext/com.apple.DriverKit-IOUserDockChannelSerial + 311 1.0 /System/Library/DriverExtensions/com.apple.DriverKit-AppleBCMWLAN.dext/com.apple.DriverKit-AppleBCMWLAN + 312 0.0 /System/Library/DriverExtensions/com.apple.AppleUserHIDDrivers.dext/com.apple.AppleUserHIDDrivers + 313 0.0 /usr/sbin/cfprefsd + 314 0.0 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated + 315 0.0 /usr/sbin/distnoted + 316 0.0 /usr/libexec/trustd + 319 0.0 /usr/libexec/triald_system + 322 0.0 /usr/sbin/distnoted + 324 0.0 /System/Library/Frameworks/GSS.framework/Helpers/GSSCred + 325 0.0 /usr/libexec/searchpartyd + 327 0.0 /usr/sbin/distnoted + 328 0.0 /System/Library/CoreServices/TimeMachine/backupd-helper + 329 0.0 /usr/libexec/rtcreportingd + 332 0.0 /usr/sbin/BTLEServer + 338 0.0 /usr/libexec/symptomsd-diag + 339 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 340 0.0 /usr/sbin/distnoted + 341 0.0 /usr/sbin/cfprefsd + 344 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/modelcatalogd + 345 0.2 /usr/libexec/secd + 347 0.0 /usr/libexec/UserEventAgent + 352 0.0 /usr/libexec/knowledge-agent + 353 0.0 /System/Library/CoreServices/CoreServicesUIAgent.app/Contents/MacOS/CoreServicesUIAgent + 354 0.0 /usr/sbin/universalaccessd + 355 0.0 /System/Library/Frameworks/Accounts.framework/Versions/A/Support/accountsd + 356 0.0 /usr/libexec/containermanagerd + 357 0.0 /usr/libexec/pboard + 359 0.0 /usr/libexec/lsd + 360 0.0 /usr/libexec/wifip2pd + 361 0.0 /usr/libexec/linkd + 362 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/MacOS/Safari + 367 0.0 /usr/libexec/nsurlsessiond + 368 0.0 /usr/libexec/rapportd + 369 0.0 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal + 370 0.0 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/ContextStoreAgent + 372 0.0 /System/Library/CoreServices/WindowManager.app/Contents/MacOS/WindowManager + 373 0.0 /usr/libexec/routined + 374 0.0 /usr/sbin/usernoted + 375 0.0 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock + 376 0.0 /System/Library/CoreServices/lockoutagent + 377 0.0 /System/Library/CoreServices/ControlCenter.app/Contents/MacOS/ControlCenter + 378 0.0 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer + 379 0.0 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder + 384 0.0 /usr/sbin/distnoted + 385 0.0 /System/Library/CoreServices/AccessibilityUIServer.app/Contents/MacOS/AccessibilityUIServer + 386 0.0 /System/Library/CoreServices/WallpaperAgent.app/Contents/MacOS/WallpaperAgent + 387 0.0 /usr/libexec/secinitd + 388 0.0 /usr/libexec/dmd + 392 0.0 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd + 394 0.0 /usr/sbin/filecoordinationd + 395 0.0 /System/Library/PrivateFrameworks/VoiceShortcuts.framework/Versions/A/Support/siriactionsd + 396 0.0 /System/Library/PrivateFrameworks/iCloudDriveCore.framework/Versions/A/Support/bird + 397 0.0 automountd + 398 0.0 /usr/libexec/trustd + 399 0.0 /System/Library/CoreServices/sharedfilelistd + 400 0.0 /System/Library/PrivateFrameworks/FileProvider.framework/Support/fileproviderd + 401 0.0 /usr/libexec/pkd + 402 0.0 /System/Library/PrivateFrameworks/AMPDevices.framework/Versions/A/Support/AMPDeviceDiscoveryAgent + 405 0.0 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd + 407 0.0 /System/Library/PrivateFrameworks/CoreSuggestions.framework/Versions/A/Support/suggestd + 408 0.0 /System/Library/PrivateFrameworks/CalendarDaemon.framework/Support/calaccessd + 409 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/fontworker + 410 0.0 /System/Library/PrivateFrameworks/TelephonyUtilities.framework/callservicesd + 411 0.0 /System/Library/PrivateFrameworks/SyncedDefaults.framework/Support/syncdefaultsd + 412 0.0 /System/Library/PrivateFrameworks/IDS.framework/identityservicesd.app/Contents/MacOS/identityservicesd + 413 0.0 /System/Library/CoreServices/iconservicesagent + 414 0.0 /usr/libexec/ContinuityCaptureAgent + 416 0.0 /System/Library/CoreServices/audioaccessoryd + 418 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/corespotlightd + 423 0.0 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary + 424 0.0 /System/Library/PrivateFrameworks/ChronoCore.framework/Support/chronod + 425 0.0 /usr/libexec/gamepolicyd + 426 0.0 /System/Library/PrivateFrameworks/UserNotificationsCore.framework/Support/usernotificationsd + 429 0.0 /System/Library/CoreServices/NotificationCenter.app/Contents/MacOS/NotificationCenter + 431 0.0 /System/Library/PrivateFrameworks/ScreenTimeCore.framework/Versions/A/ScreenTimeAgent + 433 0.0 /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/Contents/MacOS/imagent + 435 0.0 /usr/libexec/transparencyd + 436 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 437 0.0 /System/Library/PrivateFrameworks/DoNotDisturbServer.framework/Support/donotdisturbd + 438 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted + 439 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd + 441 0.0 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd + 444 0.0 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer + 445 0.0 /System/Library/PrivateFrameworks/SessionCore.framework/Support/liveactivitiesd + 446 0.1 /usr/libexec/sharingd + 449 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod + 450 0.0 /usr/libexec/findmylocateagent + 451 0.0 /System/Library/PrivateFrameworks/CoreParsec.framework/parsecd + 454 0.0 /System/Cryptexes/App/usr/libexec/SafariBookmarksSyncAgent + 456 0.0 /usr/libexec/networkserviceproxy + 462 0.0 /usr/libexec/neagent + 464 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.Networking.xpc/Contents/MacOS/com.apple.WebKit.Networking + 465 0.0 /System/Library/PrivateFrameworks/CommunicationsFilter.framework/CMFSyncAgent + 466 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.GPU.xpc/Contents/MacOS/com.apple.WebKit.GPU + 470 0.0 /System/Library/PrivateFrameworks/CoreFollowUp.framework/Versions/A/Support/followupd + 471 0.0 /System/Library/Frameworks/Contacts.framework/Support/contactsd + 472 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 473 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherWidget.appex/Contents/MacOS/WeatherWidget + 474 0.3 /System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent + 475 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/XPCServices/IMDPersistenceAgent.xpc/Contents/MacOS/IMDPersistenceAgent + 476 0.0 /System/Library/PrivateFrameworks/StatusKit.framework/StatusKitAgent + 478 0.0 /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/Resources/familycircled + 485 0.0 /System/Library/PrivateFrameworks/UserActivity.framework/Agents/useractivityd + 486 0.0 /System/Library/CoreServices/Dock.app/Contents/XPCServices/com.apple.dock.extra.xpc/Contents/MacOS/com.apple.dock.extra + 488 0.0 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight + 489 0.0 /usr/libexec/spotlightknowledged.updater + 491 0.0 /System/Applications/Photos.app/Contents/PlugIns/PhotosReliveWidget.appex/Contents/MacOS/PhotosReliveWidget + 494 0.0 /usr/libexec/ospredictiond + 495 0.0 /System/Library/CoreServices/UIKitSystem.app/Contents/MacOS/UIKitSystem + 499 0.0 /System/Library/PrivateFrameworks/iTunesCloud.framework/Support/itunescloudd + 504 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoteagent + 505 0.0 /usr/libexec/avconferenced + 506 0.0 /System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd + 507 0.0 /usr/sbin/spindump + 509 0.0 /System/Library/PrivateFrameworks/TextInputUIMacHelper.framework/Versions/A/XPCServices/CursorUIViewService.xpc/Contents/MacOS/CursorUIViewService + 515 0.0 /System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/com.apple.Safari.SafeBrowsing.Service + 518 0.0 /usr/libexec/nearbyd + 522 0.0 /System/Library/PrivateFrameworks/PhotoLibraryServices.framework/Versions/A/Support/photolibraryd + 525 0.0 /System/Library/CoreServices/ScopedBookmarkAgent + 526 0.0 /System/Library/PrivateFrameworks/AppleMediaServices.framework/Resources/amsaccountsd + 529 0.0 /System/Library/PrivateFrameworks/HomeKitDaemon.framework/Support/homed + 531 0.0 /System/Library/CoreServices/SubmitDiagInfo + 533 0.0 /System/Applications/Calendar.app/Contents/PlugIns/CalendarWidgetExtension.appex/Contents/MacOS/CalendarWidgetExtension + 546 0.0 /usr/libexec/searchpartyuseragent + 549 0.0 /System/Applications/Reminders.app/Contents/PlugIns/RemindersWidgetExtension.appex/Contents/MacOS/RemindersWidgetExtension + 552 0.0 /System/Applications/Tips.app/Contents/PlugIns/TipsWidgetExtension.appex/Contents/MacOS/TipsWidgetExtension + 555 0.0 /System/Applications/Shortcuts.app/Contents/PlugIns/ShortcutsWidgetExtension.appex/Contents/MacOS/ShortcutsWidgetExtension + 559 0.0 /System/Library/PrivateFrameworks/HearingCore.framework/heard + 560 0.0 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd + 564 0.0 /Users/perry/builder-macos/target/release/perry-ship + 565 0.0 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent + 567 0.0 /System/Library/Image Capture/Support/icdd + 572 0.0 /System/Library/CoreServices/AirPlayUIAgent.app/Contents/MacOS/AirPlayUIAgent + 573 0.0 /System/Library/CoreServices/diagnostics_agent + 574 0.0 /System/Library/CoreServices/TextInputMenuAgent.app/Contents/MacOS/TextInputMenuAgent + 577 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 586 0.0 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp + 598 0.0 /usr/libexec/aned + 621 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/Support/assistantd + 622 0.0 /System/Library/PrivateFrameworks/GenerativeExperiencesRuntime.framework/Versions/A/generativeexperiencesd + 630 0.0 /System/Applications/Weather.app/Contents/PlugIns/WeatherIntents.appex/Contents/MacOS/WeatherIntents + 632 0.0 /System/Library/PrivateFrameworks/PassKitCore.framework/passd + 636 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetItems.appex/Contents/MacOS/FindMyWidgetItems + 638 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeEnergyWidgetsExtension.appex/Contents/MacOS/HomeEnergyWidgetsExtension + 639 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/RecordWidgetExtension.appex/Contents/MacOS/RecordWidgetExtension + 642 0.0 /System/Applications/FindMy.app/Contents/PlugIns/FindMyWidgetPeople.appex/Contents/MacOS/FindMyWidgetPeople + 643 0.0 /usr/sbin/distnoted + 647 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgets.appex/Contents/MacOS/JournalWidgets + 648 0.0 /System/Applications/Home.app/Contents/PlugIns/HomeWidget.appex/Contents/MacOS/HomeWidget + 649 0.0 /System/Applications/VoiceMemos.app/Contents/PlugIns/VoiceMemosSettingsWidgetExtension.appex/Contents/MacOS/VoiceMemosSettingsWidgetExtension + 650 0.0 /usr/sbin/distnoted + 652 0.0 /usr/libexec/milod + 656 0.0 /System/Library/CoreServices/Batteries.app/Contents/PlugIns/BatteriesAvocadoWidgetExtension.appex/Contents/MacOS/BatteriesAvocadoWidgetExtension + 658 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetExtension.appex/Contents/MacOS/ScreenTimeWidgetExtension + 661 0.0 /System/Applications/Podcasts.app/Contents/PlugIns/PodcastsWidget.appex/Contents/MacOS/PodcastsWidget + 663 0.0 /System/Library/CoreServices/Screen Time.app/Contents/PlugIns/ScreenTimeWidgetIntentsExtension.appex/Contents/MacOS/ScreenTimeWidgetIntentsExtension + 664 0.0 /System/Applications/Clock.app/Contents/PlugIns/WorldClockWidget.appex/Contents/MacOS/WorldClockWidget + 665 0.0 /System/Applications/Journal.app/Contents/PlugIns/JournalWidgetsSecure.appex/Contents/MacOS/JournalWidgetsSecure + 666 0.0 /System/Library/CoreServices/PeopleViewService.app/Contents/PlugIns/PeopleWidget_macOSExtension.appex/Contents/MacOS/PeopleWidget_macOSExtension + 667 0.0 /System/Applications/Notes.app/Contents/PlugIns/com.apple.Notes.WidgetExtension.appex/Contents/MacOS/com.apple.Notes.WidgetExtension + 669 0.0 /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app/Contents/Extensions/SafariWidgetExtension.appex/Contents/MacOS/SafariWidgetExtension + 670 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/PlugIns/MobileTimerIntents.appex/Contents/MacOS/MobileTimerIntents + 673 0.0 /System/Library/PrivateFrameworks/PhotoAnalysis.framework/Versions/A/Support/photoanalysisd + 686 0.0 /System/Library/PrivateFrameworks/UsageTracking.framework/Versions/A/UsageTrackingAgent + 689 0.0 /System/Library/DriverExtensions/IOUserBluetoothSerialDriver.dext/IOUserBluetoothSerialDriver + 697 0.0 /usr/libexec/modelmanagerd + 698 0.0 /usr/sbin/distnoted + 709 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANECompilerService.xpc/Contents/MacOS/ANECompilerService + 712 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdbulkimport + 721 0.0 /usr/sbin/distnoted + 725 0.0 /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/fairplayd + 727 0.0 /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent + 731 0.0 /usr/libexec/inputanalyticsd + 732 0.0 /usr/sbin/distnoted + 740 0.0 /usr/libexec/sysmond + 749 0.0 /usr/sbin/systemstats + 750 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService + 751 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectBridgeService.xpc/Contents/MacOS/XProtectBridgeService + 760 0.0 /System/Applications/Calendar.app/Contents/Extensions/CalendarIntentsExtension.appex/Contents/MacOS/CalendarIntentsExtension + 761 0.0 /System/Applications/Messages.app/Contents/Extensions/MessagesActionExtension.appex/Contents/MacOS/MessagesActionExtension + 763 0.0 /System/Library/CoreServices/CrashReporterSupportHelper + 765 0.0 /System/Library/PrivateFrameworks/WeatherDaemon.framework/weatherd + 772 0.0 /System/Library/PrivateFrameworks/WorkflowKit.framework/XPCServices/ShortcutsViewService.xpc/Contents/MacOS/ShortcutsViewService + 787 0.0 /usr/libexec/online-auth-agent + 789 0.0 /usr/sbin/distnoted + 801 0.0 /System/Library/CoreServices/iconservicesagent + 822 0.0 /System/Library/PrivateFrameworks/OnDeviceStorage.framework/Support/amsondevicestoraged + 832 0.0 /usr/sbin/cfprefsd + 834 0.0 /usr/libexec/mmaintenanced + 838 0.0 /usr/sbin/cfprefsd + 842 0.0 /usr/sbin/cfprefsd + 843 0.0 /usr/sbin/cfprefsd + 847 0.0 /System/Cryptexes/App/usr/libexec/PasswordBreachAgent + 848 0.0 /usr/sbin/cfprefsd + 860 0.0 /usr/sbin/cfprefsd + 861 0.0 /usr/sbin/cfprefsd + 862 0.0 /usr/sbin/cfprefsd + 863 0.0 /usr/libexec/mlhostd + 866 0.0 /usr/libexec/powerdatad + 867 0.0 /usr/sbin/cfprefsd + 869 0.0 /usr/libexec/ASPCarryLog + 883 0.0 /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/XPCServices/extensionkitservice.xpc/Contents/MacOS/extensionkitservice + 884 0.0 /usr/libexec/seputil + 1096 0.0 /System/Cryptexes/App/usr/libexec/AuthenticationServicesAgent + 1169 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService + 1398 0.0 /System/iOSSupport/System/Library/PrivateFrameworks/HomeEnergyDaemon.framework/Support/homeenergyd + 1412 0.0 /System/Library/PrivateFrameworks/MediaAnalysisAccess.framework/Versions/A/XPCServices/mediaanalysisd-access.xpc/Contents/MacOS/mediaanalysisd-access + 1849 0.0 /System/Library/PrivateFrameworks/CoreRecents.framework/Versions/A/Support/recentsd + 3976 0.0 /System/Library/PrivateFrameworks/ContinuousDialogManagerService.framework/assistant_cdmd + 4119 0.0 /System/Library/PrivateFrameworks/AvatarPersistence.framework/Support/avatarsd + 4120 0.0 /System/Library/PrivateFrameworks/ContactsDonation.framework/Versions/A/Support/contactsdonationagent + 4307 0.0 /usr/libexec/captiveagent + 4412 0.0 /usr/libexec/biomesyncd + 4762 0.0 /usr/libexec/frauddefensed + 4769 0.0 /System/Library/PrivateFrameworks/CloudPhotoServices.framework/Versions/A/XPCServices/com.apple.CloudPhotosConfiguration.xpc/Contents/MacOS/com.apple.CloudPhotosConfiguration + 4781 0.0 /System/Library/PrivateFrameworks/BookKit.framework/Versions/A/XPCServices/com.apple.BKAgentService.xpc/Contents/MacOS/com.apple.BKAgentService + 5427 9.9 sshd-session: perry [priv] + 5428 0.0 + 5430 0.3 sshd-session: perry@notty + 5431 0.0 /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Resources/Python.app/Contents/MacOS/Python + 5432 0.0 ps + 5548 0.0 /usr/libexec/seserviced + 5602 0.0 /usr/libexec/filevaultd + 5603 0.0 /System/Library/PrivateFrameworks/GeoAnalytics.framework/geoanalyticsd + 5606 0.0 /System/Library/PrivateFrameworks/PrivateCloudCompute.framework/privatecloudcomputed.app/Contents/MacOS/privatecloudcomputed + 5621 0.0 /usr/libexec/taskgated + 5736 0.0 /System/Library/PrivateFrameworks/Stickers.framework/Support/stickersd + 5759 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/managedcorespotlightd + 5767 0.0 /usr/sbin/distnoted + 5768 0.0 /System/Library/ExtensionKit/Extensions/GenerativeExperiencesSafetyInferenceProvider.appex/Contents/MacOS/GenerativeExperiencesSafetyInferenceProvider + 5769 0.0 /usr/sbin/cfprefsd + 5770 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService + 6705 0.0 /usr/libexec/applekeystored + 8779 0.0 /System/Library/CoreServices/Setup Assistant.app/Contents/Resources/mbuseragent + 8789 0.0 /usr/libexec/DataDetectorsSourceAccess +12133 0.0 /usr/libexec/tipsd +14895 0.0 /usr/libexec/wifivelocityd +15933 0.0 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/XPCServices/csnameddatad.xpc/Contents/MacOS/csnameddatad +16212 11.6 /System/Library/ExtensionKit/Extensions/WallpaperAerialsExtension.appex/Contents/MacOS/WallpaperAerialsExtension +16213 3.1 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService +17355 0.0 /usr/sbin/netbiosd +19642 0.0 /System/Library/PrivateFrameworks/MobileTimer.framework/Executables/mobiletimerd +22309 0.0 /System/Library/CoreServices/ReportSystemMemory +39544 0.0 /System/Library/PrivateFrameworks/IMDPersistence.framework/IMAutomaticHistoryDeletionAgent.app/Contents/MacOS/IMAutomaticHistoryDeletionAgent +39617 0.0 /System/Library/ExtensionKit/Extensions/TGOnDeviceInferenceProviderService.appex/Contents/MacOS/TGOnDeviceInferenceProviderService +39618 0.0 /System/Library/PrivateFrameworks/MapsSync.framework/mapssyncd +39637 0.0 /System/Library/PrivateFrameworks/CallHistory.framework/Support/CallHistorySyncHelper +39662 0.0 /System/Library/PrivateFrameworks/ModelCatalogRuntime.framework/Versions/A/ModelCatalogAgent +41554 0.0 /usr/libexec/PerfPowerServices +46759 0.0 /usr/libexec/ioupsd +46762 0.0 /usr/sbin/BTLEServerAgent +49101 0.0 /System/Library/PrivateFrameworks/MobileAssetDaemon.framework/Versions/A/XPCServices/com.apple.MobileAsset.DownloadService.Builtin.xpc/Contents/MacOS/com.apple.MobileAsset.DownloadService.Builtin +49103 0.0 /System/Library/PrivateFrameworks/StreamingExtractor.framework/Versions/A/XPCServices/STExtractionService.privileged.xpc/Contents/MacOS/STExtractionService.privileged +49267 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/EAUpdaterService.xpc/Contents/MacOS/EAUpdaterService +49521 0.0 /System/Library/PrivateFrameworks/WebPrivacy.framework/webprivacyd +50091 0.0 /usr/libexec/assessmentagent +50092 0.0 /System/Library/PrivateFrameworks/EmailDaemon.framework/Versions/A/maild +50093 0.0 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/Resources/commerce +50094 0.0 /System/Cryptexes/App/usr/libexec/com.apple.Safari.History +50103 0.0 /usr/libexec/replayd +50104 0.0 /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter +50105 0.0 /System/Library/CoreServices/CoreLocationAgent.app/Contents/MacOS/CoreLocationAgent +50106 0.0 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsagent +50107 0.0 /System/Library/CoreServices/Keychain Circle Notification.app/Contents/MacOS/Keychain Circle Notification +50695 0.0 /usr/libexec/feedbackd +50955 0.0 cloudphotod +50959 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceUSBPD.xpc/Contents/MacOS/UARPUpdaterServiceUSBPD +51036 0.0 /usr/libexec/triald +51044 0.0 /System/Library/PrivateFrameworks/TrialServer.framework/Versions/A/XPCServices/TrialArchivingService.xpc/Contents/MacOS/TrialArchivingService +51103 0.0 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Versions/A/XPCServices/com.apple.MobileSoftwareUpdate.CleanupPreparePathService.xpc/Contents/MacOS/com.apple.MobileSoftwareUpdate.CleanupPreparePathService +51142 0.0 /usr/libexec/containermanagerd_system +52122 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +52128 0.0 /usr/libexec/AssetCache/AssetCache +52130 0.0 /System/Library/PrivateFrameworks/AssetCacheServicesExtensions.framework/XPCServices/AssetCacheTetheratorService.xpc/Contents/MacOS/AssetCacheTetheratorService +52409 0.0 /System/Library/PrivateFrameworks/CoreSymbolication.framework/coresymbolicationd +52453 0.0 /usr/libexec/adprivacyd +52456 0.0 /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/Support/akd +52457 0.0 /System/Library/PrivateFrameworks/CoreADI.framework/adid +52458 0.0 /usr/libexec/promotedcontentd +52459 0.0 /usr/libexec/fairplaydeviceidentityd +53616 0.0 /usr/libexec/dprivacyd +53617 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53618 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53622 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53623 0.0 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Resources/SoftwareUpdateNotificationManager.app/Contents/MacOS/SoftwareUpdateNotificationManager +53624 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53625 0.0 /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/XPCServices/nsattributedstringagent.xpc/Contents/MacOS/nsattributedstringagent +53626 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +53630 0.0 /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/XPCServices/com.apple.accessibility.mediaaccessibilityd.xpc/Contents/MacOS/com.apple.accessibility.mediaaccessibilityd +53631 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53632 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/MacOS/XProtect +53633 0.0 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar +53641 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53642 0.0 /Library/Apple/System/Library/CoreServices/XProtect.app/Contents/XPCServices/XProtectPluginService.xpc/Contents/MacOS/XProtectPluginService +53643 0.0 /usr/libexec/uarpassetmanagerd +53644 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceDisplay.xpc/Contents/MacOS/UARPUpdaterServiceDisplay +53645 0.0 /System/Library/PrivateFrameworks/UARPAssetManager.framework/XPCServices/UARPAssetManagerServiceMobileAsset.xpc/Contents/MacOS/UARPAssetManagerServiceMobileAsset +53810 0.0 /usr/libexec/bluetoothuserd +53811 0.0 /usr/libexec/findmydeviced +56810 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCompute.framework/Versions/A/XPCServices/IntelligencePlatformComputeService.xpc/Contents/MacOS/IntelligencePlatformComputeService +57779 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Support/appstoreagent +57780 0.0 /System/Library/PrivateFrameworks/InstallCoordination.framework/Support/installcoordinationd +57781 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedODRService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedODRService +57782 0.0 /System/Library/PrivateFrameworks/AppleMediaServicesUI.framework/amsengagementd +57872 0.0 /System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/XPCServices/com.apple.StreamingUnzipService.privileged.xpc/Contents/MacOS/com.apple.StreamingUnzipService.privileged +58789 0.0 /usr/libexec/countryd +58802 0.0 /System/Library/Frameworks/ManagedSettings.framework/Versions/A/ManagedSettingsAgent +58812 0.0 /System/Library/PrivateFrameworks/NewDeviceOutreach.framework/ndoagent +59412 0.0 /System/Library/PrivateFrameworks/ReplicatorCore.framework/Support/replicatord +61271 0.0 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted +62942 0.0 /System/Library/PrivateFrameworks/BiomeStreams.framework/Support/BiomeAgent +62957 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +62958 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +62961 0.0 /usr/libexec/duetexpertd +62963 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/intelligenceplatformd +70105 0.0 /System/Library/CoreServices/ReportCrash +70111 0.0 /System/Library/CoreServices/diagnosticservicesd +70953 0.0 /usr/libexec/biometrickitd +70958 0.0 /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/XPCServices/com.apple.AppStoreDaemon.StorePrivilegedTaskService.xpc/Contents/MacOS/com.apple.AppStoreDaemon.StorePrivilegedTaskService +70963 0.0 /System/Library/Frameworks/MediaExtension.framework/Versions/A/Helpers/MENotificationAgent +70964 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Support/BackgroundTaskManagementAgent.app/Contents/MacOS/BackgroundTaskManagementAgent +70966 0.0 /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Resources/backgroundtaskmanagementd +70968 0.0 /usr/libexec/aneuserd +71089 0.0 /usr/libexec/powerexperienced +71330 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSOAgent.app/Contents/MacOS/AppSSOAgent +71331 0.0 /System/Library/PrivateFrameworks/AppSSO.framework/Support/AppSSODaemon +71332 0.0 /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/XPCServices/com.apple.hiservices-xpcservice.xpc/Contents/MacOS/com.apple.hiservices-xpcservice +71333 0.0 /usr/libexec/findmybeaconingd +71334 0.0 /System/Library/PrivateFrameworks/IMTransferServices.framework/IMTransferAgent.app/Contents/MacOS/IMTransferAgent +71336 0.0 /usr/libexec/wifianalyticsd +71376 0.0 /usr/libexec/backgroundassets.user +73149 0.0 /usr/libexec/proactiveeventtrackerd +73151 0.0 /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Helpers/ProtectedCloudKeySyncing +73152 0.0 /usr/libexec/swtransparencyd +73153 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +74315 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +74316 0.0 /usr/sbin/distnoted +74825 0.0 /System/Library/PrivateFrameworks/DifferentialPrivacy.framework/XPCServices/DPSubmissionService.xpc/Contents/MacOS/DPSubmissionService +75643 0.0 /usr/libexec/audioanalyticsd +75645 0.0 /usr/libexec/ciphermld +75646 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +75647 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75648 0.0 /System/Library/PrivateFrameworks/ContextKit.framework/Versions/A/XPCServices/ContextService.xpc/Contents/MacOS/ContextService +75969 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbagent.app/Contents/MacOS/nbagent +75970 0.0 /System/Library/PrivateFrameworks/Noticeboard.framework/Versions/A/Resources/nbstated +76414 0.0 /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/XPCServices/PerfPowerTelemetryClientRegistrationService.xpc/Contents/MacOS/PerfPowerTelemetryClientRegistrationService +76539 0.0 /System/Library/Frameworks/ShazamKit.framework/shazamd +76540 0.0 /System/Library/PrivateFrameworks/SystemStatusServer.framework/Support/systemstatusd +76699 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/remotemanagementd +76700 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +76701 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +76702 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +76705 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +76706 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +76707 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/DiskManagementSubscriber.xpc/Contents/MacOS/DiskManagementSubscriber +76708 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedPreferencesSubscriber.xpc/Contents/MacOS/ManagedPreferencesSubscriber +76709 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SoftwareUpdateSubscriber.xpc/Contents/MacOS/SoftwareUpdateSubscriber +76710 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/MigrationSubscriber.xpc/Contents/MacOS/MigrationSubscriber +76711 0.0 /System/Library/PrivateFrameworks/SystemMigration.framework/Resources/systemmigrationd +76712 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +76713 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributiond +76714 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +76715 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedConfigurationFilesSubscriber.xpc/Contents/MacOS/ManagedConfigurationFilesSubscriber +76861 0.0 /System/Library/PrivateFrameworks/CloudKitDaemon.framework/Support/cloudd +77182 0.0 /usr/libexec/assetsubscriptiond +77186 0.0 /usr/libexec/griddatad +77191 0.0 /usr/libexec/dprivacyd +77192 0.0 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XProtectUpdateService.xpc/Contents/MacOS/XProtectUpdateService +77193 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +77194 0.0 /System/Library/PrivateFrameworks/IntlPreferences.framework/Support/localizationswitcherd +77195 0.0 /usr/libexec/siriknowledged +77196 0.0 /usr/libexec/tzd +77198 0.0 /System/Library/PrivateFrameworks/CacheDelete.framework/deleted_helper +77199 0.0 /usr/libexec/appleaccountd +77200 0.0 /System/Library/PrivateFrameworks/CoreCDP.framework/Versions/A/Resources/cdpd +77203 0.0 /usr/libexec/sysdiagnosed +77204 0.0 /System/Library/Frameworks/QuickLookThumbnailing.framework/Support/com.apple.quicklook.ThumbnailsAgent +77207 0.0 /System/Library/PrivateFrameworks/AssetCacheServices.framework/Versions/A/XPCServices/AssetCacheLocatorService.xpc/Contents/MacOS/AssetCacheLocatorService +77208 0.0 /System/Library/PrivateFrameworks/Categories.framework/Versions/A/XPCServices/CategoriesService.xpc/Contents/MacOS/CategoriesService +77209 0.0 /usr/libexec/MTLAssetUpgraderD +77210 0.0 /usr/libexec/mlruntimed +77211 0.0 /System/Library/PrivateFrameworks/SiriTTSService.framework/sirittsd +77212 0.0 /System/Library/PrivateFrameworks/AppleNeuralEngine.framework/XPCServices/ANEStorageMaintainer.xpc/Contents/MacOS/ANEStorageMaintainer +77213 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/StandaloneHIDAudService.xpc/Contents/MacOS/StandaloneHIDAudService +77214 0.0 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/XPCServices/UARPUpdaterServiceLegacyAudio.xpc/Contents/MacOS/UARPUpdaterServiceLegacyAudio +77215 0.0 /System/Library/PrivateFrameworks/CascadeSets.framework/Versions/A/XPCServices/SetStoreUpdateService.xpc/Contents/MacOS/SetStoreUpdateService +77216 0.0 /System/Library/PrivateFrameworks/GeoServices.framework/geodMachServiceBridge +77217 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/system_installd +77218 0.0 /System/Library/PrivateFrameworks/PackageKit.framework/Resources/installd +77224 0.0 /System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/XPCServices/media-indexer.xpc/Contents/MacOS/media-indexer +77225 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPLibraryAgent +77226 0.0 /System/Library/PrivateFrameworks/PodcastServices.framework/XPCServices/PodcastContentService.xpc/Contents/MacOS/PodcastContentService +77227 0.0 /System/Library/PrivateFrameworks/AMPLibrary.framework/Versions/A/Support/AMPArtworkAgent +77262 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +77287 0.0 /System/Library/PrivateFrameworks/AXAssetLoader.framework/Support/axassetsd +77288 0.0 /System/Library/CoreServices/EscrowSecurityAlert.app/Contents/MacOS/EscrowSecurityAlert +77289 0.0 /System/Library/PrivateFrameworks/TextToSpeechVoiceBankingSupport.framework/Support/voicebankingd +77290 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77291 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/KonaSynthesizer.appex/Contents/MacOS/KonaSynthesizer +77292 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/MauiAUSP.appex/Contents/MacOS/MauiAUSP +77293 0.0 /System/iOSSupport/System/Library/ExtensionKit/Extensions/SiriAUSP.appex/Contents/MacOS/SiriAUSP +77294 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/WardaSynthesizer.appex/Contents/MacOS/WardaSynthesizer +77295 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77296 0.0 /System/Library/PrivateFrameworks/MacinTalk.framework/PlugIns/MacinTalkAUSP.appex/Contents/MacOS/MacinTalkAUSP +77297 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77298 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77299 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77300 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper +77301 0.0 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/AUCrashHandlerService.xpc/Contents/MacOS/AUCrashHandlerService +77302 0.0 /System/Library/PrivateFrameworks/CloudServices.framework/Helpers/com.apple.sbd +77303 0.0 /usr/libexec/swcd +77531 0.0 /usr/libexec/mobilerepaird +77701 0.0 /System/Library/PrivateFrameworks/CoreKDL.framework/Support/corekdld +78714 0.0 /System/Library/PrivateFrameworks/JetCore.framework/Support/jetpackassetd +79810 0.0 /usr/sbin/cfprefsd +82557 0.0 /System/Library/Frameworks/ManagedAppDistribution.framework/Support/managedappdistributionagent +82558 0.0 /System/Library/PrivateFrameworks/ManagedBackgroundAssets.framework/Versions/A/XPCServices/Managed Background Assets Helper Service.xpc/Contents/MacOS/Managed Background Assets Helper Service +83674 0.0 /System/Library/PrivateFrameworks/IntelligenceTasksEngine.framework/Support/intelligencetasksd +84260 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/RemoteManagementAgent +84263 0.0 /System/Library/PrivateFrameworks/SafariFoundation.framework/Versions/A/XPCServices/SafariConfigurationSubscriber.xpc/Contents/MacOS/SafariConfigurationSubscriber +84264 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/SecuritySubscriber.xpc/Contents/MacOS/SecuritySubscriber +84265 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/InteractiveLegacyProfilesSubscriber.xpc/Contents/MacOS/InteractiveLegacyProfilesSubscriber +84266 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ScreenSharingSubscriber.xpc/Contents/MacOS/ScreenSharingSubscriber +84270 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/LegacyProfilesSubscriber.xpc/Contents/MacOS/LegacyProfilesSubscriber +84271 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/PasscodeSettingsSubscriber.xpc/Contents/MacOS/PasscodeSettingsSubscriber +84272 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/AccountSubscriber.xpc/Contents/MacOS/AccountSubscriber +84273 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedAppsSubscriber.xpc/Contents/MacOS/ManagedAppsSubscriber +84274 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagementTestSubscriber.xpc/Contents/MacOS/ManagementTestSubscriber +84275 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ASConfigurationSubscriber.xpc/Contents/MacOS/ASConfigurationSubscriber +84276 0.0 /System/Library/PrivateFrameworks/RemoteManagement.framework/XPCServices/ManagedSettingsSubscriber.xpc/Contents/MacOS/ManagedSettingsSubscriber +84328 0.0 /System/Library/PrivateFrameworks/Ecosystem.framework/Support/ecosystemd +84329 0.0 /usr/libexec/GamePolicyAgent +84330 0.0 /System/Library/Frameworks/NetFS.framework/Versions/A/XPCServices/PlugInLibraryService.xpc/Contents/MacOS/PlugInLibraryService +84391 0.0 /usr/libexec/intelligentroutingd +84392 0.0 /System/Library/PrivateFrameworks/DeviceCheckInternal.framework/devicecheckd +84404 0.0 /System/Library/PrivateFrameworks/AppleIntelligenceReportingProcessing.framework/Versions/A/XPCServices/AppleIntelligenceReportingProcessingService.xpc/Contents/MacOS/AppleIntelligenceReportingProcessingService +84405 0.0 /System/Library/PrivateFrameworks/HomeKitEvents.framework/Support/homeeventsd +84423 0.0 /System/Library/PrivateFrameworks/CloudSubscriptionFeatures.framework/FeatureAccessAgent +84845 0.0 /System/Library/PrivateFrameworks/BusinessChatService.framework/businessservicesd +84847 0.0 /System/Library/PrivateFrameworks/MessagesBlastDoorSupport.framework/Versions/A/XPCServices/MessagesBlastDoorService.xpc/Contents/MacOS/MessagesBlastDoorService +86892 0.0 aslmanager +87457 0.0 /System/Library/PrivateFrameworks/StorageManagement.framework/Resources/diskspaced +87756 0.0 /System/Library/PrivateFrameworks/IntelligencePlatformCore.framework/Versions/A/knowledgeconstructiond +89574 0.0 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd +90448 0.0 /usr/libexec/nfcd +90449 0.0 /System/Library/PrivateFrameworks/NearFieldPrivateServices.framework/Versions/A/XPCServices/NFStorageServer.xpc/Contents/MacOS/NFStorageServer +90468 0.0 /usr/libexec/betaenrollmentagent +90469 0.0 /usr/libexec/betaenrollmentd +90470 0.0 /usr/libexec/microstackshot +90577 0.0 /usr/sbin/systemsoundserverd +90592 0.0 /System/Library/CoreServices/talagentd +90616 0.0 /System/Library/PrivateFrameworks/AppleCredentialManager.framework/AppleCredentialManagerDaemon +90893 0.0 /usr/libexec/dirhelper +91864 0.0 /System/Library/CoreServices/ReportCrash +92246 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +92570 0.0 /usr/libexec/proactived +92571 0.0 /System/Library/PrivateFrameworks/IntelligenceFlowContextRuntime.framework/Versions/A/intelligencecontextd +92572 0.0 /System/Library/CoreServices/pbs +92715 0.0 /System/Library/PrivateFrameworks/CloudTelemetry.framework/Versions/A/XPCServices/CloudTelemetryService.xpc/Contents/MacOS/CloudTelemetryService +97953 0.0 /usr/libexec/gamecontrollerd +97954 0.0 /System/Library/PrivateFrameworks/GameControllerFoundation.framework/Versions/A/XPCServices/GameControllerConfigService.xpc/Contents/MacOS/GameControllerConfigService +97955 0.0 /usr/libexec/gamecontrolleragentd + 537 0.0 login + 539 0.0 -zsh + 542 0.0 login + 553 0.0 -zsh + 550 0.0 login + 591 0.0 -zsh diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/provenance.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/provenance.json new file mode 100644 index 0000000000..897a5f591f --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/provenance.json @@ -0,0 +1,80 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "main_build": { + "source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T06:30:44.576706+00:00", + "elapsed_seconds": 548.3807451725006, + "files": { + "perry": { + "sha256": "c8e83e7dc6680c54044b09c6493522bb0375a93d61730c3c68ebd9cc851b7b79", + "bytes": 117699680, + "mtime": 1789108790.2333682 + }, + "libperry_runtime.a": { + "sha256": "3e925cb1a91bf474203c69b33ae2189481e46e0bccebd4b2cdcf35c1a963bbbc", + "bytes": 36882832, + "mtime": 1789108697.2353504 + }, + "libperry_stdlib.a": { + "sha256": "143309e7959802db73b86be87702d83fcf3e917b16f377f8c256c7c72d1398e8", + "bytes": 86371824, + "mtime": 1789108772.9098356 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + }, + "candidate_build": { + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] + } +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-stage-hashes.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-stage-hashes.json new file mode 100644 index 0000000000..630f6c5d7b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-stage-hashes.json @@ -0,0 +1,135 @@ +{ + "run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + "with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + "results/fixtures.json": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d", + ".work/zero-spacing-r25/fixture-hashes.json": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06", + ".work/fixtures/null.json": "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + ".work/fixtures/string_a.json": "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + ".work/fixtures/empty_object.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + ".work/fixtures/tiny_object.json": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + ".work/fixtures/small_record.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/fixtures/object_1k.json": "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + ".work/fixtures/records_array_16k.json": "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + ".work/fixtures/records_array_1m.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/fixtures/records_object_1m.json": "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + ".work/fixtures/records_array_8m.json": "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + ".work/fixtures/records_object_8m.json": "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + ".work/fixtures/records_array_20m.json": "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + ".work/fixtures/records_object_20m.json": "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + ".work/fixtures/numbers_1m.json": "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + ".work/fixtures/long_string_1m.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/fixtures/escaped_1m.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/fixtures/unicode_1m.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/fixtures/wide_1m.json": "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + ".work/fixtures/heterogeneous_1m.json": "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + ".work/zero-spacing-r25/main-reuse-provenance.json": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba", + ".work/zero-spacing-r25/candidate-options": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79", + ".work/zero-spacing-r25/run-options.py": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8", + ".work/zero-spacing-r25/root-comparison.json": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a", + ".work/zero-spacing-r25/options-worker.js": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9", + ".work/zero-spacing-r25/candidate-workers-provenance.json": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4", + ".work/zero-spacing-r25/candidate-access-worker": "ad0ca3a09c3741e19ca95b2ad5b2d929242221f57c5a95e8bafb8a69ad82a097", + ".work/zero-spacing-r25/main-worker": "13949b3ba4108cdd9bcd1de14423c8ca28a25e397c4d2d2a552d8c9eb98d5039", + ".work/zero-spacing-r25/provenance.json": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93", + ".work/zero-spacing-r25/main-options-validation.json": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e", + ".work/zero-spacing-r25/main-rotating-worker": "f784fa9fa18bc3d4bba8b7546a02b554692932ae9939d1e35f50d9da2a3de9e9", + ".work/zero-spacing-r25/source.patch": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + ".work/zero-spacing-r25/lazy-main-probes.json": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc", + ".work/zero-spacing-r25/candidate-worker": "c9c1761b542d0fb034985cd352dd1039af3a46fd4d8f7638f56527cf32482d02", + ".work/zero-spacing-r25/candidate-fixture-validation.json": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14", + ".work/zero-spacing-r25/build-provenance.json": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb", + ".work/zero-spacing-r25/candidate-rotating-worker": "4b87bd9273b21d2b283097dbef68d9479d7c14b7c88f30f7fecd2a583207cf59", + ".work/zero-spacing-r25/run-focus.py": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060", + ".work/zero-spacing-r25/main-roots.json": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b", + ".work/zero-spacing-r25/main-zero-roots.json": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b", + ".work/zero-spacing-r25/main-access-worker": "af4404992b9aebed880c3fd91c966a767d246b3d06bbf0553d4ef5816dc60d7e", + ".work/zero-spacing-r25/main-fixture-validation.json": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2", + ".work/zero-spacing-r25/candidate-roots.json": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a", + ".work/zero-spacing-r25/candidate-zero-validation.json": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341", + ".work/zero-spacing-r25/main-build-provenance.json": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc", + ".work/zero-spacing-r25/main-zero-validation.json": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce", + ".work/zero-spacing-r25/options-worker.ts": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d", + ".work/zero-spacing-r25/run-access.py": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c", + ".work/zero-spacing-r25/run-retained.py": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da", + ".work/zero-spacing-r25/candidate-options-validation.json": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04", + ".work/zero-spacing-r25/candidate-zero-roots.json": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee", + ".work/zero-spacing-r25/main-options": "b47b5bd06fbe2ee12f7dcb800940d36e62f37d1e1ad4366180c9c2908d7e1d85", + ".work/zero-spacing-r25/lazy-candidate-probes.json": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7", + ".work/zero-spacing-r25/main-workers-provenance.json": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc", + ".work/zero-spacing-r25/zero-root-comparison.json": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f", + ".work/zero-spacing-r25/harness/run_dispatch_focus.py": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4", + ".work/zero-spacing-r25/harness/rotating-worker.ts": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24", + ".work/zero-spacing-r25/harness/worker.js": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4", + ".work/zero-spacing-r25/harness/with_lock.py": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49", + ".work/zero-spacing-r25/harness/access-worker.ts": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67", + ".work/zero-spacing-r25/harness/run_access.py": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67", + ".work/zero-spacing-r25/harness/access-worker.js": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957", + ".work/zero-spacing-r25/harness/run_regression_focus.py": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270", + ".work/zero-spacing-r25/harness/rotating-worker.js": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8", + ".work/zero-spacing-r25/harness/worker.ts": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39", + ".work/rotating/manifest.json": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85", + ".work/zero-spacing-r25/run-rotating.py": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316", + ".work/rotating/small_record.0.json": "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + ".work/rotating/small_record.1.json": "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + ".work/rotating/small_record.2.json": "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + ".work/rotating/small_record.3.json": "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + ".work/rotating/small_record.4.json": "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + ".work/rotating/small_record.5.json": "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + ".work/rotating/small_record.6.json": "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + ".work/rotating/small_record.7.json": "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d", + ".work/rotating/records_array_1m.0.json": "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + ".work/rotating/records_array_1m.1.json": "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + ".work/rotating/records_array_1m.2.json": "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + ".work/rotating/records_array_1m.3.json": "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + ".work/rotating/records_array_1m.4.json": "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + ".work/rotating/records_array_1m.5.json": "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + ".work/rotating/records_array_1m.6.json": "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + ".work/rotating/records_array_1m.7.json": "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a", + ".work/rotating/long_string_1m.0.json": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + ".work/rotating/long_string_1m.1.json": "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + ".work/rotating/long_string_1m.2.json": "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + ".work/rotating/long_string_1m.3.json": "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + ".work/rotating/long_string_1m.4.json": "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + ".work/rotating/long_string_1m.5.json": "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + ".work/rotating/long_string_1m.6.json": "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + ".work/rotating/long_string_1m.7.json": "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03", + ".work/rotating/escaped_1m.0.json": "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + ".work/rotating/escaped_1m.1.json": "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + ".work/rotating/escaped_1m.2.json": "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + ".work/rotating/escaped_1m.3.json": "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + ".work/rotating/escaped_1m.4.json": "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + ".work/rotating/escaped_1m.5.json": "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + ".work/rotating/escaped_1m.6.json": "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + ".work/rotating/escaped_1m.7.json": "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6", + ".work/rotating/unicode_1m.0.json": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + ".work/rotating/unicode_1m.1.json": "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + ".work/rotating/unicode_1m.2.json": "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + ".work/rotating/unicode_1m.3.json": "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + ".work/rotating/unicode_1m.4.json": "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + ".work/rotating/unicode_1m.5.json": "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + ".work/rotating/unicode_1m.6.json": "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + ".work/rotating/unicode_1m.7.json": "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263", + ".work/zero-spacing-r25/run-changing-options.py": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4", + ".work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + ".work/zero-spacing-r25/changing-options-worker.js": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00", + ".work/zero-spacing-r25/main-changing-options": "c9ffa440da236dd0c3088a2613ab2ebb079fe4dabe12e56abda542b1d8a91e0f", + ".work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + ".work/zero-spacing-r25/main-changing-workers-provenance.json": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9", + ".work/zero-spacing-r25/candidate-changing-workers-provenance.json": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83", + ".work/zero-spacing-r25/main-changing-options-validation.json": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07", + ".work/zero-spacing-r25/candidate-changing-options-validation.json": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44", + ".work/zero-spacing-r25/run-zero-retained.py": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + ".work/zero-spacing-r25/retained-zero-worker.ts": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c", + ".work/zero-spacing-r25/retained-zero-worker.js": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf", + ".work/zero-spacing-r25/main-retained-zero": "2691705bdd98bcfce70bd273dda7f4380b88b31c640c605f4befe1b79e8986ca", + ".work/zero-spacing-r25/candidate-retained-zero": "29f104e33cc5f62c8357e64b21784f9997fbd9c914816543b36bc1ad7f911035", + ".work/zero-spacing-r25/main-retained-zero-workers-provenance.json": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26", + ".work/zero-spacing-r25/candidate-retained-zero-workers-provenance.json": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442", + ".work/zero-spacing-r25/main-retained-zero-validation.json": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045", + ".work/zero-spacing-r25/candidate-retained-zero-validation.json": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4", + ".work/zero-spacing-r25/main-changing-roots.json": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf", + ".work/zero-spacing-r25/candidate-changing-roots.json": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640", + ".work/zero-spacing-r25/main-retained-roots.json": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185", + ".work/zero-spacing-r25/candidate-retained-roots.json": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b", + ".work/zero-spacing-r25/additional-root-comparison.json": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained-command.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained-command.json new file mode 100644 index 0000000000..8042232cc5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained-command.json @@ -0,0 +1,17 @@ +[ + "python3", + "with_lock.py", + "--", + "python3", + ".work/zero-spacing-r25/run-zero-retained.py", + "--worker", + ".work/zero-spacing-r25/candidate-retained-zero", + "--baseline-worker", + ".work/zero-spacing-r25/main-retained-zero", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-zero-retained" +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained.log b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained.log new file mode 100644 index 0000000000..b807acc215 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained.log @@ -0,0 +1,4 @@ +ACQUIRED json-perf-5431-1789115547 load (1.73193359375, 1.7939453125, 1.6259765625) +FINISHED custom load (1.76611328125, 1.80029296875, 1.6298828125) +QUIET_GATE True +RELEASED diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.js b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.js new file mode 100644 index 0000000000..92e8f87b8d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.js @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained = []; +let last = null; +let checksum = 0; +function run(count ) { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.ts b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.ts new file mode 100644 index 0000000000..5501d8dcf5 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.ts @@ -0,0 +1,82 @@ +// Identical source for Perry, Node and Bun. Inputs are produced outside timing. +import { readFileSync } from 'node:fs'; + +const file = process.argv[2]; +const operation = process.argv[3]; +const dynamicSpacer: any = Number(process.argv[7] || '0'); +const iterations = Number(process.argv[4]); +const warmup = Number(process.argv[5]); +const source = readFileSync(file, 'utf8'); +let input: any = null; +// An object envelope forces eager Perry parsing of nested arrays. This prevents +// stringify-only from measuring the lazy original-text copy shortcut. +if (operation === 'stringify' || operation === 'pretty' || operation === 'retain-stringify') { + input = JSON.parse('{"data":' + source + '}').data; +} +let retained: any[] = []; +let last: any = null; +let checksum = 0; +function run(count: number): number { + let sum = 0; + if (operation === 'parse' || operation === 'retain-parse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + last = value; + if (operation === 'retain-parse') retained.push(value); + sum += value === null ? 0 : 1; + } + } else if (operation === 'scan' || operation === 'sparse') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + if (operation === 'scan') { + for (let j = 0; j < value.length; j++) sum += value[j].id; + } else { + sum += value[0].id + value[value.length - 1].id; + } + last = value; + } + } else if (operation === 'roundtrip') { + for (let i = 0; i < count; i++) { + const value: any = JSON.parse(source); + const result = JSON.stringify(value); + sum += result.length; + last = result; + } + } else if (operation === 'stringify' || operation === 'retain-stringify') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, dynamicSpacer); + sum += result.length; + last = result; + if (operation === 'retain-stringify') retained.push(result); + } + } else if (operation === 'pretty') { + for (let i = 0; i < count; i++) { + const result = JSON.stringify(input, null, 2); + sum += result.length; + last = result; + } + } + return sum; +} +checksum += run(warmup); +const rssBefore = process.memoryUsage().rss; +const cpuBefore = process.cpuUsage(); +const started = performance.now(); +checksum += run(iterations); +const elapsedMs = performance.now() - started; +const cpuAfter = process.cpuUsage(); +const rssAfter = process.memoryUsage().rss; +const userUs = cpuAfter.user - cpuBefore.user; +const systemUs = cpuAfter.system - cpuBefore.system; +console.log('RESULT', elapsedMs, userUs, systemUs, rssBefore, rssAfter, checksum, retained.length); +// Check final parse/stringify output outside timing. The controller hashes this +// against Node; touching every byte also makes produced output observable. +if (process.argv[6] === 'verify') { + if (operation === 'parse' || operation === 'scan' || operation === 'sparse' || operation === 'retain-parse') { + console.log('VERIFY', JSON.stringify(last)); + } else { + console.log('VERIFY', last); + } +} +// Keep retained graphs live through measurement and verification. +console.log('KEEP', retained.length, last === null ? 0 : 1); diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/root-comparison.json new file mode 100644 index 0000000000..ba3f08a9d1 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/root-comparison.json @@ -0,0 +1,185 @@ +{ + "ir_files": [ + { + "mode": "native", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "5c2040f5358793091bee09789d402a31576db5510e433cd81f7de7d113c94498", + "candidate_sha256": "4ffa7d362b6de198db675b7d20c423fa84db84727d307eb28d065c01407f9813", + "normalized_sha256": "2d54b9e25fb20c03b59ca8d18a35fa88c071e63e4d38c7b5c6193407a351a56a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "5dfa150c5e8e50595e75932b3170bd767ccd6aaa986329b1e3ee005e3a778d47", + "candidate_sha256": "9e595efd5cda8ce9b3c493009e94110625952dd9ceb1618dbdc242ad98982d9f", + "normalized_sha256": "9892c9273c75b2a9862f3213fd34b524f12809cd4bd93f686f54ae7cf0f5735d", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "35425b3e1787ec3feb02fb58dfa0492c068fb01eaa4c41efeb1a3faf5a51e179", + "candidate_sha256": "27ed6fb6889be2200f537f470871bf364012f76c2c97f1ecafc4e3b437129055", + "normalized_sha256": "c555d3c7c69a88199574a0ba39634549ec127236317379c5665c9a1270770476", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "a3f4f3a32e6caeaf04c2eae86b95dd9b22c692a9957921ceb0ab86ce01bcec12", + "candidate_sha256": "d649e8609b426cb14f57b500728ad8765339591e33426b10784da7431cfb0359", + "normalized_sha256": "ef908a2a54dc7ddc34d05be1eba933ea63ba4d1cd3978fe3e0af8c2c679268a3", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "400521a3084f9ffb66408f377e0a7345eccf61b98497ec93c83710cc64d0ee3c", + "candidate_sha256": "18b6fba17f0d682ee00392756a149d7e9cb5cb87242d755c3c99f7d582298749", + "normalized_sha256": "45cce147ac495b89188390522a65e91be4b08c8a0a2b36c354f085067b67e468", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "6c8e0e30a9d2ec856e3422d953e0e8496f3a5eaba30cfb14b2309a971ed561cd", + "candidate_sha256": "627bb91d781f56c85c2dbfc9cd92ce4575b024a48dd2726f78b12e774fdceec8", + "normalized_sha256": "2309fdeecdedb442ef1311c4dfb278ccddc9293d812bc364d6de17ac7e00e01a", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "03c3f11ffa6e070ccd4cd51ad43eea4174a1299b5226dc75d885bf1499b4ff66", + "candidate_sha256": "be3f4a53152286d4ec964632daeea05476092a0addf46bfe84093e3046edfdfe", + "normalized_sha256": "6137f0af59a4e8ba78a15d40607529d6ea51f5c7e1a1c7809906d8629bb9a2c0", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "3c9ec5e02a3760518ac92abca38c35e4e756c689b9b3588d188f9f3e4483ff43", + "candidate_sha256": "31b3a1f2abea3d144f76ec2d04ec1fd28143876398f001fd85651e8a445db13a", + "normalized_sha256": "ffd4b8bf82446eeeabdbefb15a5a4160381fa4960ee988189bb5e9c5f2855e39", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "native", + "file": "worker-0.ll", + "same": true, + "main_sha256": "2d27e0312e5176dc2b4640a37e7e852d6cfe294e576ddaca4e28937214d8a765", + "candidate_sha256": "0a43701fb9373f9b7be1522bfe8fd9c81acf58389b2453804fe8b96477f21af5", + "normalized_sha256": "872217f439889862138ef684fb6b3385cd75c6f059d425e4e2dcac78f4eb3515", + "normalization": "only first ModuleID path comment removed" + }, + { + "mode": "shadow", + "file": "access-worker-0.ll", + "same": true, + "main_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "candidate_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalized_sha256": "07f6b6498e35f909fc85c3670539f1a582723158a81c2bdd210e3c868aec2add", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "callback-only-0.ll", + "same": true, + "main_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "candidate_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalized_sha256": "77de5d9897ffd9136ff2c90528457fd1836cca8d5d45859ce1f7a15459aa3637", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "options-worker-0.ll", + "same": true, + "main_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "candidate_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalized_sha256": "304f354d77d6b33aa54352a75c4aca55c737082956d622fadce11daf6e0180a4", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "prior-entry-0.ll", + "same": true, + "main_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "candidate_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalized_sha256": "d747eb847e8aaaf07fc8d9304232b10d18f7c491d95ae7ebd648ead2d5c35c57", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_construction-0.ll", + "same": true, + "main_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "candidate_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalized_sha256": "263ed7d1ca2866a3b75792a3d079111fbf2e0314b740c7e31e33fb0ed0647a6e", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_cached_reads-0.ll", + "same": true, + "main_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "candidate_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalized_sha256": "3a1d0a5e6c3226f9c0972c1eedd5fbcc329e17f97c94286e23fe3ee031a74266", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_source_length-0.ll", + "same": true, + "main_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "candidate_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalized_sha256": "8c51b1ef829b7e32879bab36a5ff4ac80f7ce40c62f39c055f351a870a136928", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "test_json_template_capture-0.ll", + "same": true, + "main_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "candidate_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalized_sha256": "894cd8233574a09270fc273a75b5e22eacea2d7d0619a12cf868be81bfc57e0c", + "normalization": "none" + }, + { + "mode": "shadow", + "file": "worker-0.ll", + "same": true, + "main_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "candidate_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalized_sha256": "05b9daaba03ce5a95f0b067c8208399cb3b25c76553e23a0d148e900bfb1d416", + "normalization": "none" + } + ], + "checks_match": true, + "native_fingerprints": [ + "options-worker-0.ll::perry_fn_options_worker_ts__run$generic::unrooted:global->js_closure_alloc_singleton", + "options-worker-0.ll::perry_fn_options_worker_ts__run$spec_b::unrooted:global->js_closure_alloc_singleton", + "prior-entry-0.ll::main::stale:alloc->js_write_barrier_root_nanbox", + "prior-entry-0.ll::perry_closure_prior_entry_ts__5::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$generic::unrooted:global->js_array_push_f64_spec", + "prior-entry-0.ll::perry_fn_prior_entry_ts____obj_method_toJSON_1$spec_b::unrooted:global->js_array_push_f64_spec", + "test_json_cached_construction-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_cached_reads-0.ll::main::unrooted:alloc->js_get_string_pointer_unified", + "test_json_source_length-0.ll::main::unrooted:strhandle->js_put_value_set_ic_overflow_store" + ] +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/rotating-manifest.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/rotating-manifest.json new file mode 100644 index 0000000000..c112e6ac25 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/rotating-manifest.json @@ -0,0 +1,287 @@ +[ + { + "fixture": "null", + "bytes": 4, + "sha256": [ + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b", + "74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b" + ], + "distinct_contents": 1 + }, + { + "fixture": "string_a", + "bytes": 3, + "sha256": [ + "ac8d8342bbb2362d13f0a559a3621bb407011368895164b628a54f7fc33fc43c", + "c100f95c1913f9c72fc1f4ef0847e1e723ffe0bde0b36e5f36c13f81fe8c26ed", + "879923da020d1533f4d8e921ea7bac61e8ba41d3c89d17a4d14e3a89c6780d5d", + "3fa5834dc920d385ca9b099c9fe55dcca163a6b256a261f8f147291b0e7cf633", + "8c8656c5d114d7f8b2a412d2d5fd03accce3ed050624a0493734591a9666b110", + "30f8b180d63559f2512b744f60449e1245803dd6b6af9766e11acac8ddca0aae", + "e6c67f7247161354cd7e1d34d5149f373a433fa472a7e957dfdc60dfa66e162e", + "71e0bdc1413ca781ffeb37612d10c7a727cd747943bd577288a9bd86b848c0d7" + ], + "distinct_contents": 8 + }, + { + "fixture": "empty_object", + "bytes": 2, + "sha256": [ + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", + "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a" + ], + "distinct_contents": 1 + }, + { + "fixture": "tiny_object", + "bytes": 7, + "sha256": [ + "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", + "7e8059f495589fcd981232cc11d00b00da3802c01d688fa1cf1f6bed6e5bb33c", + "70778ce01ad8d1a82c80a3500bee476f34651238edeb936c4a7b0161b1395169", + "17e7d2b31edd9f05e7b330a13f9bb644babad3b5bce9a7cf5bb4c28c4a02332f", + "b2e8319d2c28dce0b83e7836e036750f0171acbea88b0f1be304e1aec903beaa", + "97ff8ae7ad6a7e502c9df4f7c5f19dbb2d6538eb8d4c26c7acd31ef6d377f016", + "906162c307d04d1b08bacae28759f8c011fd6bdb8d4a1c74e64aae5f2e86139a", + "22b7d568f03c3923642093bd1beb8b18bbf1333a296c3b9b191cd0a6b2b558f3" + ], + "distinct_contents": 8 + }, + { + "fixture": "small_record", + "bytes": 109, + "sha256": [ + "e8d7bd409aeaba5d0aa3ce4046609ff7abdd3b88fc422903982ed7e58bc8f340", + "9f123a480f74f4f1e7194b06c35d9456f8134a3b9dffe60be716982b9e57558e", + "7462fcc52ae94b41cb36d68ea5c776a61ba8d955c7d4b58002ba0a4bf1fdcbf0", + "52152547808237640f1708820d40fafd89b596f846114b2afd3fd2dea2782ac5", + "a4ff1a8041b948192852776b4acd9db210338c269018ec7ef1ab83cd8deb4266", + "0f73c2f9b20ea603844075c815c5e39447dc054da14d153ac8dbf68c1d468a98", + "05e04604275b613987a5eb2a9347b2c6693887b0499fb58f000aee58d2236e35", + "3fa279e153cad47e821f24ea1c6740727ecfbd2d00bde660c75572a87c420c0d" + ], + "distinct_contents": 8 + }, + { + "fixture": "object_1k", + "bytes": 1021, + "sha256": [ + "75f531e0014758b782c6940849abdb74f1bd5c9aa365124ab3c2fd70964b9fc5", + "fee77441888eab7671c3acd54a6d03908003400ae5b84021ecd178a4228e4516", + "2bb286ab4a30b3e1f4099da9f04f81c25ab786f00a48fac77087313f3bd42292", + "578d6177406f2ef6ad4cdef2cd166e4f2a00e079e4a8ede9d6285ac00e9d5f6f", + "a5c2b2d02d5d6755a5c8d69032d6abeffea1c6576c8df1bfa3a352fc5caaf1ab", + "4b14fe187834c6a2b9401531e94162d001d3569f3357b6f28a5ca1c536d1572f", + "bd9e3a9bacc4e96bc89396e16a121d1b0b26de469ec89b290aa3415e55584b81", + "c1ef19cd7a2c99b17185e915c9776916051acf0c344e7b08740d4983d1b09af2" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_16k", + "bytes": 13197, + "sha256": [ + "1545f910dad456bca2fcd7c43c2e4de63caf851f59424f8b56b0c2da08c29b63", + "d405464816d4442367d0a01a631395dcb8744bef9e797b563bbce254d57f1117", + "41dfc0dac3e4f9eb11d2d8a89f9a5d5fc7d41ae939c25ef1e61c7fd190b0feaa", + "a1a3b49cbbebc93eaea2f8eddb580d7a02d4bb63869d2bcdeb26c92c32253645", + "90df22a74309ae8d98e3785c8751de3c2aa5f3afc19e1b70292dd2718d29b721", + "40a938efd860a1c8664a377161a5ea15698e674b7d036dd38d1f49a184ca2e68", + "9df3135f2512d348f01b0d16ddea24647cbeecf5289b249b37cc6938f9500c2f", + "b135a2323e97951e3b45b2cf373376f8209d9bc9dffafdd2bfc43168f2b11818" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_1m", + "bytes": 888597, + "sha256": [ + "b827b3f0f5ee2a0eed75ace761a1bdd6424d6a0b524654516503a3265a5685de", + "87d08f88a52970a79814f0712a2dd1adb7b0e91fc60b27a88acac2f89982eaec", + "a5fb310d90ee6df38002124dbf4f4f7051cb8208abaa1c36a10d560c564de6ee", + "d44d093618fa54035f3962e602ce5eae8fc999616a8ba873f0dd98b8720e6f1d", + "1e1b415d819c50495d624ca3625ab7a53616287cc9150160f2712ac307a1afd4", + "024a68cbbb6b9d43403f16d23924aa96d58008229039f58db8686042985a4f89", + "311025b49f17e3c659d62276cb8141b676a586694804b2ec2d33aed2301edf3e", + "f2facbc0359f8f24fa86f309a93cdbb6255acaa62c2fbdd0ec1a2533c872527a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_1m", + "bytes": 888609, + "sha256": [ + "f025e38ef9df42216a5fadc3232f300ab1dae1d291c5aee1c288a72d83f83471", + "074e7f1b5a3297a84eddf94d2eeddf500d2a5eb4651c4832437dbefe1381a97e", + "10a8d5706f4318ac0cdbc6a271b488e8bf8b6821eedd06a558b2b0fa850e82e2", + "e21468e77bcbb3c18f2e6a0af9bc342b72667c5ad0ae3d0fedbeaffb5eb4148b", + "1af114c148442c78d0ad513a2f3685290c0e1b55c0887d92d5530e7bf94f93f2", + "a12f45d56d0b66b8343cce21325c04c4092001ca34a58770d7cc88a7d43f178a", + "9d9092612996c5725cfcfd2888fe98b8d9818a34ecc0f5fe7ea87d3183197141", + "6e747f774e0646cd120f421386b18e1d6e4201f12509d3becf92e0c5cb7dec0f" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_8m", + "bytes": 7117930, + "sha256": [ + "e8b5fef7f0e95e158e556ed0ed2714f81d808da8fa89f0d73a56ff0a6f22ef45", + "b361145feb3731b457e8deb75067eb8172f56f262eac9a3359afb036364358fd", + "0e157f2f410ee51d1d6eadadf14202b3dfb865cf38d97e5516c5bca5278b8cd7", + "296af4d877c1c1e8f4146653654951519f7ad94fd5c28c236abab5a39a62715c", + "be5036b5177c072feac9a4ba83efc967be8b96a981ecbdc83ce7c88e6b0eea9d", + "7e606ca1aa37a51b5afb6d5e20b017df1f4a6f2b1003cc1b69c8a03fa641fedb", + "7678661c772517928b98c9a7b8b5604baf2803be7053dfabd9e3950344dad9cb", + "e529b99a160e01d5a1ebc9ffc4c9ca9a4d72296c2a0dca91d3a7e9000c4072e6" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_8m", + "bytes": 7117942, + "sha256": [ + "4ca542eae78e77fa05f1232785712f37b92c45a30ebfb6931816ff8b8e056c9c", + "7a2ade0ae4fbdaacab918a72c99a5407b0e4b53e79b572b12b87c4ecf8e5cdd6", + "8757e5ddd1bb98341c38474195b55c04ded270f121a9c5f19f5f81a4ebe6effd", + "268c053592ce72a984afb7225d623617c94e82db2b166f9d65ac70326bf31a9a", + "7b4b5819fd3fbd07dc4dc3ef8d0fe723e723824ea06f139abd5c190037cb7059", + "049d581822215208b65aabf4bb877fd75938fd033c143af242ac1af98ba58712", + "72ea0c92a38d31e518ba9f76c43c5cc39cb641e0388293b448913efa7871dbeb", + "6d7fa3e42f60a17c3467edcc453af1f1950154fb19f9c4fc064d662465e7406a" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_array_20m", + "bytes": 17765930, + "sha256": [ + "554f4c3a4ff68567a10c21b07da3b4cb221abc8aa09a04595fc927aa07974265", + "220cd03df6a1bb80ff034eafc1691a04688921b98b32f3dbe51357d5356e652b", + "40c68c0a66396878a7f2dbda8308836152abac40315e916e6366b37f41dc4eac", + "a5c7ff116dd7c2bc1730434f83283f7c51bfbdb3300358948624b34ec3317670", + "dd1fa7fea8b05d30360ccd29df62ef5e274cfe03077aded0dc82a00b88259f07", + "d4cbafe8caaeead0cc959c4dc20470da4f2b6c22b6f12637b7a748244f5ae3e7", + "c619a1e6c2b7ed9027e2a54607a733618f7cfdcf19408bd927f574c669c54bcd", + "de2676531e84aaa93946f4eb171e72d5a8ea6c0e5be817c8b6f6fb1b94ff9aa9" + ], + "distinct_contents": 8 + }, + { + "fixture": "records_object_20m", + "bytes": 17765942, + "sha256": [ + "356c7f6f75c99f8664bb5e45a2fe7c37f06cbd74494da6943754676804304e80", + "33309f39969fecc8f3f338511d26138d840e1963eced14de71a86b074c3d75dd", + "1b027e2f9671fe69f617d0dc720c4dc3b96299be1176ca3832f44ee5cc520466", + "db4cace5ae703c16e1777042131f83bfd539d699b55877549fc4edfa1aefe3f9", + "717cde2dcda3170e50b2df50d8d447119365a899eb4235358647cbeac987d3c3", + "2a3e877b3d9a4aaa2071684a20db8b21b8c2ed5c4d60e13d892305027aca876d", + "421074b708f80a7111a60b540bc7530d5cf8b12ebb7a82ea55b3e247ef97be43", + "ac11ae2aa5482797aed2c41b625bc5f122ce099f1f9af8c09121ec66a2f71b9b" + ], + "distinct_contents": 8 + }, + { + "fixture": "numbers_1m", + "bytes": 1067371, + "sha256": [ + "16a8954573cfc1090e79c3c2b27d0fc8c89dabc501aee6cbfeb44c1c1bc4c0fc", + "04804c824edbbaee95d44f2b984239739a9d21a6fc9e7b5af116eca3470df756", + "d1632dd82d2869ee96981e3a48534ddfad935f1370ecc7f82f875a2917e0a864", + "9a1f57998dfbe0535bec6872af322369462ffbaa959e347c83644f09b62ec620", + "dc27761ba254c4278b72b4701606a7feed90f7452813e13aaa47619fe0e7e7e7", + "d9aae03ed068e8bc45e09435e5af8172ee070b052ede8a72441acb9ab3713254", + "b43d2aa5321f7352f7fb7d72c0d49d9d6b41b2bac2688d8418407b28bcb3fc60", + "2ebade344295cb9c08e1948ee581d1748ba717650994881493b8cc0252a6db1b" + ], + "distinct_contents": 8 + }, + { + "fixture": "long_string_1m", + "bytes": 1048594, + "sha256": [ + "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", + "6c561580cc851c5e12cb6cd1a85577a638715378ae9abea874cec403fbdca611", + "e2353dc042003d25b4e337fbd19aa504a070fae11e0da3cd453148ccc237ff70", + "cf99d0384a016baf730ef38ae1f3c0b2aaabbe5e0330ef914ea07fc70bdcfea4", + "e7abc264a4091a266b9ce48cfc8735b7a5ca5b24c5c834697e388b5dc3594fd3", + "41f99201531383bc592f73982edb39ac9c58c669d6aa317a8610ff6a7dfe5637", + "59ae0a11c12c973cc1f4fc17aea67168b596a0c60a5776b0a3fea6bf42d74600", + "0267aec1d303709011753890f0cf2d310df90be7a1faa0af1070cedcde9d3b03" + ], + "distinct_contents": 8 + }, + { + "fixture": "escaped_1m", + "bytes": 990018, + "sha256": [ + "52f2e30ddc036b9c0600a1ab088c7d00f6e40558540efa1f9315a0579bec8f56", + "30e96a5c906b1a88c204c517a8ee8674e084c7c7120714b69488817a2ff7b056", + "9781ff7fdc26d6c6fc54e79ac47e83114c6bc411c35440bae2b073883935598e", + "f794943a8d4f1d44c948c499305d07407ca38576adf9bcc4b1b0944cbd5106e3", + "b357998429b37d9cd0b5798704ea3af5b283f73a2598a79660f7315538eb03cf", + "b2d372309773165407fc14aacc34b7ac0315b8408e45e01b0504fba1c435f451", + "09ca6b6328fb1f9fd18a5b682095067311a2817280715cb38d29833275efe534", + "8c1ee888dfd237185f99fbd5d6973aee99aad1e29ba06e35969f3d6c36cbacb6" + ], + "distinct_contents": 8 + }, + { + "fixture": "unicode_1m", + "bytes": 884018, + "sha256": [ + "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", + "d1144d3b04932f867e65e69a0b1c34594965d29bd8095c2a829c028b6376b149", + "602402be6e6fbff81196dbabcdb40b274429a82047481c5b7f34dfdf9ec77008", + "75925699fe7c331bfe715a0468cc65b62f2578cbbe73736368ef71a6597da133", + "e9c533e0e39f4618d4c70f90ea2789be70e6c8d60b04cf8e2837aff1591afaad", + "a76ab72ac01e98e154a81d8805a35b9555dcf6d0f02fe4ee33aeebe8eced641f", + "a7d3beeda4ff34f74d8ffd65c7b25887759e328153be8cd3a933f618ca3ae8c9", + "9fbc9e4928504cebae6eb3774b07ec941f7eebb66154548765fc5a7323070263" + ], + "distinct_contents": 8 + }, + { + "fixture": "wide_1m", + "bytes": 977781, + "sha256": [ + "97f24b77b98ccfd85db41fb44f0316e27c87fdff4cec53e9d763a696f3611747", + "61bc3aeea8ea3bf941ca3dfacc83483933f2f801d42f29919b7090e2e169eea4", + "b93c04f0b4f5ddaa8d7f6d9ef39b1a33a0ca05ddcdeba49509160238f47c8bb4", + "051f6bd75aa40269ee0db362f79d7409d95be966654008a40b8399d16fa8269d", + "d6c50c9d08594d7957008b9933f5579ff9b5339571fffc47680546028d3da4e9", + "a93da8ca093c47beb7b813ce95fc5caa3be3e25649b1c7ab38a613f8dbc63708", + "4a172951cf78a83d98fafea9f8cd0ff0243a4c948e69865a1973bbece3c3ee8b", + "e2309789e481a9204db22f7fc59eb0ae33473cb169ec8be0d1b57ae68ebcd832" + ], + "distinct_contents": 8 + }, + { + "fixture": "heterogeneous_1m", + "bytes": 914291, + "sha256": [ + "3cad453a41f7a501e6c34c79df2a76356aa2eb2c53b88b5d5b72c45aad67fd3a", + "f039bb8a9d3412a1daa4d678f3343bef8cbb3dd516234017507e7a4fbab6ba99", + "66d17691a2aa750d1d6326eb4b75577f971e595d3cc47d6c3fd24baf29b26ffd", + "8f7b4b910c9343a5d813f6b41fb0618449baa8e1c951ef23d21f5ddb4f32d126", + "ed0b56a08d033ea18d67a39081244069cd77127f6255760c377eb3cd1359d149", + "fa3d6d7a4d66f44b71ccf6027195f05b50c2f8a661058b7b03fb95eb80eb7ee2", + "c2e59cd37685211b1c03d19163eadef719f15b49713406a6e913f4d54e617e5f", + "7263fcc0aa1c3f992498b233f74f8dc556257c6b6a759c5c9e81e4b68a161fa5" + ], + "distinct_contents": 8 + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-access.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-access.py new file mode 100644 index 0000000000..33c1aabcf0 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-access.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Measure reads after one JSON.parse, including cache and random-access controls. + +Run under with_lock.py on the quiet benchmark host. Fresh processes, identical +work counts, interleaved engines, and a Node checksum for each complete workload. +Parsing is outside the timed region; these rows supplement parse/scan timings. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +ACCESS = Path(__file__).resolve().parent / 'harness' + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--node', required=True) + parser.add_argument('--bun', required=True) + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--iterations', type=int, default=1_000_000) + parser.add_argument('--repeat', type=int, default=7) + args = parser.parse_args() + if args.iterations < 1 or args.repeat < 1: + parser.error('iterations and repeat must be positive') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = { + 'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())], + 'node': [args.node, str(ACCESS / 'access-worker.js')], + 'bun': [args.bun, str(ACCESS / 'access-worker.js')], + } + fixtures = ['records_array_16k', 'records_array_1m', 'records_array_20m'] + paths = [args.worker.resolve(), args.baseline_worker.resolve(), + ACCESS / 'access-worker.ts', ACCESS / 'access-worker.js', + Path(__file__), ROOT / 'run_dispatch_focus.py'] + paths += [ROOT / '.work/fixtures' / (name + '.json') for name in fixtures] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), iterations=args.iterations, + repeat=args.repeat, warmup=0, commands=engines, + hashes={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in paths}, + versions={e: subprocess.check_output([engines[e][0], '--version'], text=True).strip() + for e in ['node', 'bun']}) + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(10038) + summaries = [] + for fixture in fixtures: + for operation in ['repeat', 'random', 'fields', 'sequential']: + expected = run(engines['node'], fixture, args.iterations, 0, operation=operation) + save('verify', dict(expected, engine='node', operation=operation)) + rows = [] + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, args.iterations, 0, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + row['correct'] = row['checksum'] == expected['checksum'] and row['retained'] == 0 + save('timing', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows.append(row) + for engine in engines: + chosen = [r for r in rows if r['engine'] == engine] + cpu = [(r['user_us'] + r['system_us']) / args.iterations for r in chosen] + rss = [r['peak_rss'] / 1048576 for r in chosen] + summaries.append(dict(fixture=fixture, operation=operation, engine=engine, + cpu_us=statistics.median(cpu), cpu_samples_us=cpu, + peak_rss_mib=statistics.median(rss), peak_rss_samples_mib=rss)) + print('FINISHED', fixture, operation, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-changing-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-changing-options.py new file mode 100644 index 0000000000..cce160bc8c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-changing-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','changing-plain',2000000,5000,7), ('small_record','changing-zero',2000000,5000,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'changing-plain', 'changing-zero'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'changing-options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'changing-options-worker.ts',WORK/'changing-options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'changing-options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-focus.py new file mode 100644 index 0000000000..57dd08053c --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-focus.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +"""Replicate the remaining R6 timing/RSS concerns with fixed work counts. + +By default the timing arms are Perry binaries; Node is the output oracle. +Supplying --bun also times Node and Bun with the same work counts. Run under +the same quiet/lock admission as the full matrix and preserve window.json. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +CASES = [('long_string_1m', 'stringify', 32768, 8, 9), + ('records_array_16k', 'roundtrip', 6185, 2, 25), + ('records_array_16k', 'roundtrip', 20000, 8, 9)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'parse', 'stringify', 'scan', 'sparse', 'roundtrip', 'pretty'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures; also accepts unicode_1m') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + [('unicode_1m', 'stringify', 32768, 8, 9)] + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-options.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-options.py new file mode 100644 index 0000000000..80a09d0c0d --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-options.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +"""Measure stringify argument/fallback paths with fixed work and output verification.""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +WORK = Path(__file__).resolve().parent + +CASES = [('small_record','plain',2000000,5000,7), ('small_record','dynamic-zero',2000000,5000,7), ('small_record','zero',2000000,5000,7), ('small_record','pretty',1000000,5000,7), ('small_record','keys',1000000,5000,7), ('small_record','callback',200000,5000,7), ('records_array_16k','pretty',1000,8,7)] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'plain', 'zero', 'dynamic-zero', 'pretty', 'keys', 'callback'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(WORK / 'options-worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p): hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',WORK/'options-worker.ts',WORK/'options-worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(WORK / 'options-worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-retained.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-retained.py new file mode 100644 index 0000000000..f1b7e8ca8a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-retained.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +"""Retained-output RSS comparison: fixed counts, fresh processes and interleaved engines. +Reports whole-process RSS while results remain live; this is not isolated heap size. +""" +import argparse +import hashlib +import json +import os +from pathlib import Path +import random +import shutil +import statistics +import subprocess +import time +import sys +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +from run_dispatch_focus import run, ROOT +HARNESS = Path(__file__).resolve().parent / 'harness' + +WANTED = {'tiny_object': 200000, 'small_record': 100000, 'records_array_1m': 16, + 'records_object_1m': 16, 'records_array_8m': 4, 'records_object_8m': 4, + 'long_string_1m': 32, 'unicode_1m': 32, 'wide_1m': 16} +CASES = [(fixture, operation, count, 0, 7) + for fixture, high in WANTED.items() + for operation in ['retain-parse', 'retain-stringify'] for count in [1, high]] + + +def parse_case(value): + """Accept an explicit fixture:operation:iterations:warmup:repetitions case.""" + try: + fixture, operation, count, warmup, repetitions = value.split(':') + count, warmup, repetitions = int(count), int(warmup), int(repetitions) + if (not fixture or not all(c.isascii() and (c.isalnum() or c == '_') for c in fixture) + or operation not in {'retain-parse', 'retain-stringify'} + or count < 1 or warmup < 0 or repetitions < 1): + raise ValueError + return fixture, operation, count, warmup, repetitions + except ValueError: + raise argparse.ArgumentTypeError('expected fixture:operation:positive-count:nonnegative-warmup:positive-repetitions') from None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--bun', help='also time this Bun executable and --node') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--filter', default='', help='comma-separated fixtures') + parser.add_argument('--case', type=parse_case, action='append', help='explicit case; repeat for multiple cases') + args = parser.parse_args() + if args.case and args.filter: + parser.error('--case and --filter cannot be combined') + cases = args.case or CASES + if args.filter: + selected = set(args.filter.split(',')) + available = CASES + cases = [case for case in available if case[0] in selected] + if {case[0] for case in cases} != selected: + parser.error('Unknown fixture in --filter') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + if args.bun: + for engine, executable in [('node', args.node), ('bun', args.bun)]: + resolved = shutil.which(executable) + if resolved is None: + parser.error(f'{engine} executable not found: {executable}') + engines[engine] = [str(Path(resolved).resolve()), str(HARNESS / 'worker.js')] + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), cases=cases, + workers={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + sources={str(p):hashlib.sha256(p.read_bytes()).hexdigest() for p in [Path(__file__),ROOT/'run_dispatch_focus.py',HARNESS/'worker.ts',HARNESS/'worker.js']}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip()) + if args.bun: + meta['bun_version'] = subprocess.check_output([args.bun, '--version'], text=True).strip() + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + rng = random.Random(1527) + summaries = [] + for fixture, operation, count, warmup, repetitions in cases: + expected = run([args.node, str(HARNESS / 'worker.js')], fixture, 7, 8, True, operation) + expected.update(engine='node', operation=operation, case_iterations=count) + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True, operation) + row.update(engine=engine, operation=operation, case_iterations=count) + row['correct'] = all(row[k] == expected[k] for k in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture} {operation}') + rows = [] + unit = expected['checksum'] / 15 + for rep in range(repetitions): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup, operation=operation) + row.update(engine=engine, operation=operation, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == count + warmup + save('memory', row) + rows.append(row) + for engine in engines: + selected = [r for r in rows if r['engine'] == engine] + assert len(selected) == repetitions + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + peaks = [r['peak_rss'] / 1048576 for r in selected] + rss_after = [r['rss_after'] / 1048576 for r in selected] + rss_before = [r['rss_before'] / 1048576 for r in selected] + summaries.append(dict(fixture=fixture, operation=operation, iterations=count, + engine=engine, repetitions=repetitions, + cpu_us=statistics.median(samples), cpu_samples_us=samples, + peak_rss_mib=statistics.median(peaks), peak_rss_samples_mib=peaks, + rss_after_mib=statistics.median(rss_after), rss_after_samples_mib=rss_after, + rss_before_mib=statistics.median(rss_before), rss_before_samples_mib=rss_before)) + print('FINISHED', fixture, operation, count, flush=True) + (args.results_dir / 'summary.json').write_text(json.dumps(summaries, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-rotating.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-rotating.py new file mode 100644 index 0000000000..c0ec24066a --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-rotating.py @@ -0,0 +1,167 @@ +#!/usr/bin/env python3 +"""Compare cached and rotating input parsing, including an input-selection control. + +Eight equal-size documents are preloaded before timing. Rotating them defeats +Perry's single-source parse caches without charging file IO or string creation +to JSON.parse. This is a bounded corpus benchmark, not a fresh allocation on +every call. RSS includes all eight live inputs; never compare it directly to +the one-input worker's RSS. Raw selection overhead is reported, not subtracted. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import subprocess +import time + +WORK = Path(__file__).resolve().parent +ROOT = WORK.parents[1] + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def run_one(command, prefix, operation, count, warmup, mode, verify=False): + env = {key: value for key, value in os.environ.items() if not key.startswith('PERRY_')} + argv = command + [str(prefix), operation, str(count), str(warmup), + 'verify' if verify else 'time', mode] + started = time.monotonic() + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, env=env, start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + return dict(error='timeout', iterations=count) + stdout, stderr = stdout.decode(), stderr.decode(errors='replace') + row = dict(exit_code=process.returncode, process_wall_s=time.monotonic() - started, + iterations=count, warmup=warmup, operation=operation, mode=mode) + match = re.search(r'^RESULT (.+)$', stdout, re.M) + if process.returncode != 0 or not match: + return dict(row, error='process failed', stdout=stdout[:1000], stderr=stderr[-4000:]) + fields = ['wall_ms', 'user_us', 'system_us', 'rss_before', 'rss_after', 'checksum', 'retained'] + values = list(map(float, match.group(1).split())) + if len(values) != len(fields): + raise ValueError(f'Invalid result: {match.group(1)}') + row.update(zip(fields, values)) + if not all(math.isfinite(value) for value in values): + return dict(row, error='nonfinite result') + peak = re.search(r'(\d+)\s+maximum resident set size', stderr) + if peak: + row['peak_rss'] = int(peak.group(1)) + if verify: + outputs = re.findall(r'^VERIFY (\d+) (.*)$', stdout, re.M) + row['verified_members'] = [int(index) for index, _ in outputs] + row['verify_sha256'] = hashlib.sha256('\n'.join(text for _, text in outputs).encode()).hexdigest() + last = re.search(r'^LAST (.*)$', stdout, re.M) + row['last_sha256'] = hashlib.sha256(last.group(1).encode()).hexdigest() if last else None + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, help='interleaved Perry reference arm') + parser.add_argument('--node', default='node') + parser.add_argument('--bun', default='bun') + parser.add_argument('--results-dir', type=Path, required=True) + parser.add_argument('--repeat', type=int, default=5) + parser.add_argument('--filter', default='', help='comma-separated fixture names') + parser.add_argument('--phase', choices=['verify', 'timing', 'all'], default='all') + parser.add_argument('--modes', default='rotating,same,select') + parser.add_argument('--source-commit', help='source revision when staging outside the checkout') + args = parser.parse_args() + # Refuse accidental trial mixing, including after an interrupted run. + args.results_dir.mkdir(parents=True, exist_ok=False) + fixtures = json.loads((ROOT / '.work/rotating/manifest.json').read_text()) + if args.filter: + selected = set(args.filter.split(',')) + fixtures = [fixture for fixture in fixtures if fixture['fixture'] in selected] + if {fixture['fixture'] for fixture in fixtures} != selected: + parser.error('Unknown fixture in --filter') + engines = {'perry': [str(args.worker.resolve())], + 'node': [args.node, str(WORK / 'harness/rotating-worker.js')], + 'bun': [args.bun, str(WORK / 'harness/rotating-worker.js')]} + if args.baseline_worker: + engines['baseline'] = [str(args.baseline_worker.resolve())] + modes = args.modes.split(',') + if set(modes) - {'rotating', 'same', 'select'}: + parser.error('Unknown mode') + metadata = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), host=os.uname().nodename, + cpu=subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string'], text=True).strip(), + memory=int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'], text=True)), + worker_sha256=sha(args.worker), fixtures=fixtures, + baseline_worker_sha256=sha(args.baseline_worker) if args.baseline_worker else None, + engines=list(engines), + verification_counts_by_mode={'rotating': [2, 7, 9], 'same': [9], 'select': [9]}, + source_sha256={str(path): sha(path) for path in + [Path(__file__), WORK / 'harness/rotating-worker.ts', WORK / 'harness/rotating-worker.js']}, + commit=args.source_commit or subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=ROOT, text=True).strip(), + versions={engine: subprocess.check_output([command[0], '--version'], text=True).strip() + for engine, command in engines.items() if engine in {'node', 'bun'}}) + meta_path = args.results_dir / 'host.json' + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + def save(phase, fixture, engine, row): + row.update(engine=engine, fixture=fixture['fixture'], bytes=fixture['bytes']) + with (args.results_dir / (phase + '.jsonl')).open('a') as output: + output.write(json.dumps(row) + '\n') + if 'error' in row: + raise RuntimeError(f"{engine} {fixture['fixture']}: {row['error']}") + + rng = random.Random(10022) + for fixture in fixtures: + prefix = ROOT / '.work/rotating' / fixture['fixture'] + if args.phase in {'all', 'verify'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + # End the actual timed loop at multiple corpus indices. A + # worker accidentally parsing sources[0] on every iteration + # must fail even though its separate eight-member audit passes. + for count in metadata['verification_counts_by_mode'][mode]: + results = {engine: run_one(command, prefix, operation, count, 8, mode, verify=True) + for engine, command in engines.items()} + reference = results['node'] + for engine, row in results.items(): + row['correct'] = ('error' not in row and 'error' not in reference + and row['verified_members'] == list(range(8)) + and row['verify_sha256'] == reference['verify_sha256'] + and row['last_sha256'] == reference['last_sha256'] + and row['checksum'] == reference['checksum']) + save('verify', fixture, engine, row) + if not row['correct']: + raise RuntimeError(f"Incorrect output: {fixture['fixture']} {mode} {engine}") + print('VERIFY', fixture['fixture'], mode, 'all engines passed', flush=True) + if args.phase in {'all', 'timing'}: + for mode in modes: + operation = 'select' if mode == 'select' else 'parse' + warmup = 5000 if fixture['bytes'] < 4096 else 8 + initial = 2000 if fixture['bytes'] < 4096 or mode == 'select' else 8 + rates = [] + for engine, command in engines.items(): + row = run_one(command, prefix, operation, initial, warmup, mode) + save('calibration', fixture, engine, row) + rates.append(max(0.00001, (row['user_us'] + row['system_us']) / initial / 1000)) + count = max(8, min(2_000_000, int(min(150 / min(rates), 1500 / max(rates))))) + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run_one(engines[engine], prefix, operation, count, warmup, mode) + row['rep'] = rep + save('timing', fixture, engine, row) + print('TIMING', fixture['fixture'], mode, count, 'calls per engine', flush=True) + metadata.update(load_after=os.getloadavg(), finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime())) + meta_path.write_text(json.dumps(metadata, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.py.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.py.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6ecd911422519bd6dd44ed127241ef6be87de91 GIT binary patch literal 2328 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.source.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.source.json new file mode 100644 index 0000000000..b87581d6de --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.source.json @@ -0,0 +1,7 @@ +{ + "original_path": "run-zero-retained.py", + "original_bytes": 6864, + "original_sha256": "2d4a5a83fb29e91d1364f54e8948da58c8cec54f08b3545c1b19a14e462d197d", + "gzip_sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d", + "note": "Lossless archive encoding preserves the exact measured source, including trailing whitespace." +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run_dispatch_focus.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run_dispatch_focus.py new file mode 100644 index 0000000000..2469259a6b --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run_dispatch_focus.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Longer, interleaved stringify trials for resolving small dispatch differences. + +Node supplies the output oracle. The timing arms are Perry candidates/reference, +with identical call counts and fresh processes. This supplements the full +Node/Bun comparison; it does not replace it. Run under the host quiet/lock gate. +""" +import argparse +import hashlib +import json +import math +import os +from pathlib import Path +import random +import re +import signal +import statistics +import subprocess +import time + +ROOT = Path(__file__).resolve().parent + + +def run(command, fixture, count, warmup, verify=False, operation='stringify'): + env = {k: v for k, v in os.environ.items() if not k.startswith('PERRY_')} + argv = command + [str(ROOT / '.work/fixtures' / (fixture + '.json')), + operation, str(count), str(warmup)] + if verify: + argv.append('verify') + process = subprocess.Popen(['/usr/bin/time', '-l'] + argv, env=env, + stdout=subprocess.PIPE, stderr=subprocess.PIPE, + start_new_session=True) + try: + stdout, stderr = process.communicate(timeout=90) + except subprocess.TimeoutExpired: + os.killpg(process.pid, signal.SIGKILL) + process.communicate() + raise RuntimeError(f'Timeout: {argv}') + text, diagnostics = stdout.decode(), stderr.decode(errors='replace') + if process.returncode != 0: + raise RuntimeError(f'Exit {process.returncode}: {argv}\n{diagnostics[-4000:]}') + match = re.search(r'^RESULT (.+)$', text, re.M) + if not match: + raise ValueError('Missing RESULT') + values = list(map(float, match.group(1).split())) + if len(values) != 7 or not all(math.isfinite(v) for v in values): + raise ValueError('Invalid RESULT') + row = dict(zip(['wall_ms', 'user_us', 'system_us', 'rss_before', + 'rss_after', 'checksum', 'retained'], values)) + row.update(fixture=fixture, iterations=count, warmup=warmup) + for label, key in [('maximum resident set size', 'peak_rss'), + ('instructions retired', 'instructions'), ('cycles elapsed', 'cycles')]: + match = re.search(r'(\d+)\s+' + label, diagnostics) + if match: + row[key] = int(match.group(1)) + if verify: + if '\nVERIFY ' not in text or '\nKEEP ' not in text: + raise ValueError('Missing verification') + result = text.split('\nVERIFY ', 1)[1].rsplit('\nKEEP ', 1)[0] + row['verify_sha256'] = hashlib.sha256(result.encode()).hexdigest() + return row + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--worker', type=Path, required=True) + parser.add_argument('--baseline-worker', type=Path, required=True) + parser.add_argument('--prior-worker', type=Path) + parser.add_argument('--node', default='node') + parser.add_argument('--repeat', type=int, default=9) + parser.add_argument('--results-dir', type=Path, required=True) + args = parser.parse_args() + if args.repeat < 1: + parser.error('--repeat must be at least 1') + args.results_dir.mkdir(parents=True, exist_ok=False) + engines = {'perry': [str(args.worker.resolve())], + 'baseline': [str(args.baseline_worker.resolve())]} + if args.prior_worker: + engines['prior'] = [str(args.prior_worker.resolve())] + oracle = [args.node, str(ROOT / 'worker.js')] + fixtures = {'string_a': 50_000_000, 'small_record': 50_000_000, + 'unicode_1m': 16_384} + meta = dict(started_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), + load_before=os.getloadavg(), fixtures=fixtures, repeat=args.repeat, + worker_sha256={e: hashlib.sha256(Path(cmd[0]).read_bytes()).hexdigest() + for e, cmd in engines.items()}, + node_version=subprocess.check_output([args.node, '--version'], text=True).strip(), + harness_sha256=hashlib.sha256(Path(__file__).read_bytes()).hexdigest(), + worker_source_sha256=hashlib.sha256((ROOT / 'worker.js').read_bytes()).hexdigest()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + def save(phase, row): + with (args.results_dir / (phase + '.jsonl')).open('a') as out: + out.write(json.dumps(row) + '\n') + rng = random.Random(10022) + rows = [] + for fixture, count in fixtures.items(): + expected = run(oracle, fixture, 7, 8, True) + expected['engine'] = 'node' + save('verify', expected) + for engine, cmd in engines.items(): + row = run(cmd, fixture, 7, 8, True) + row['engine'] = engine + row['correct'] = all(row[key] == expected[key] + for key in ['verify_sha256', 'checksum', 'retained']) + save('verify', row) + if not row['correct']: + raise RuntimeError(f'Incorrect output: {engine} {fixture}') + warmup = 5000 if fixture != 'unicode_1m' else 8 + unit = expected['checksum'] / 15 + for rep in range(args.repeat): + order = list(engines) + rng.shuffle(order) + for engine in order: + row = run(engines[engine], fixture, count, warmup) + row.update(engine=engine, rep=rep) + assert row['checksum'] == unit * (count + warmup) and row['retained'] == 0 + save('timing', row) + rows.append(row) + print('FINISHED', fixture, count, 'calls per trial', flush=True) + summary = [] + for fixture in fixtures: + for engine in engines: + selected = [r for r in rows if r['fixture'] == fixture and r['engine'] == engine] + assert len(selected) == args.repeat + samples = [(r['user_us'] + r['system_us']) / r['iterations'] for r in selected] + summary.append(dict(fixture=fixture, engine=engine, cpu_us=statistics.median(samples), + cpu_samples_us=samples, + peak_rss_mib=statistics.median(r['peak_rss'] / 1048576 for r in selected))) + (args.results_dir / 'summary.json').write_text(json.dumps(summary, indent=2) + '\n') + meta.update(finished_utc=time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), load_after=os.getloadavg()) + (args.results_dir / 'host.json').write_text(json.dumps(meta, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.gz b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb4b4620283412b04d0fc2afd8d2081ae59668c GIT binary patch literal 2726 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.json new file mode 100644 index 0000000000..bfd4c803f7 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.json @@ -0,0 +1,5 @@ +{ + "original_bytes": 7178, + "original_sha256": "c0bd67b7413d4a63e6271327ec3831a26993a15386333b3f275f507891a74f9a", + "gzip_sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/summary.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/summary.json new file mode 100644 index 0000000000..ea462bb876 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/summary.json @@ -0,0 +1,1506 @@ +[ + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 10.0, + "cpu_samples_us": [ + 13.0, + 11.0, + 9.0, + 10.0, + 10.0, + 9.0, + 10.0 + ], + "peak_rss_mib": 13.046875, + "peak_rss_samples_mib": [ + 13.0625, + 13.046875, + 13.046875, + 13.046875, + 13.046875, + 13.046875, + 13.0625 + ], + "rss_after_mib": 11.96875, + "rss_after_samples_mib": [ + 11.984375, + 11.96875, + 11.96875, + 11.96875, + 11.96875, + 11.96875, + 11.984375 + ], + "rss_before_mib": 11.90625, + "rss_before_samples_mib": [ + 11.921875, + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.921875 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 16.0, + "cpu_samples_us": [ + 16.0, + 16.0, + 15.0, + 16.0, + 16.0, + 13.0, + 13.0 + ], + "peak_rss_mib": 13.09375, + "peak_rss_samples_mib": [ + 13.09375, + 13.109375, + 13.09375, + 13.09375, + 13.09375, + 13.09375, + 13.09375 + ], + "rss_after_mib": 12.0, + "rss_after_samples_mib": [ + 12.0, + 12.015625, + 12.0, + 12.0, + 12.0, + 12.0, + 12.0 + ], + "rss_before_mib": 11.890625, + "rss_before_samples_mib": [ + 11.890625, + 11.90625, + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 357.0, + "cpu_samples_us": [ + 361.0, + 357.0, + 355.0, + 350.0, + 365.0, + 353.0, + 363.0 + ], + "peak_rss_mib": 53.609375, + "peak_rss_samples_mib": [ + 53.59375, + 53.5625, + 53.640625, + 53.671875, + 53.65625, + 53.609375, + 53.59375 + ], + "rss_after_mib": 52.84375, + "rss_after_samples_mib": [ + 52.828125, + 52.8125, + 52.875, + 52.875, + 52.84375, + 52.859375, + 52.8125 + ], + "rss_before_mib": 52.296875, + "rss_before_samples_mib": [ + 52.296875, + 52.28125, + 52.34375, + 52.390625, + 52.296875, + 52.375, + 52.25 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 11.0, + "cpu_samples_us": [ + 11.0, + 11.0, + 11.0, + 12.0, + 13.0, + 11.0, + 11.0 + ], + "peak_rss_mib": 28.71875, + "peak_rss_samples_mib": [ + 28.703125, + 28.734375, + 28.71875, + 28.703125, + 28.71875, + 28.703125, + 28.71875 + ], + "rss_after_mib": 28.3125, + "rss_after_samples_mib": [ + 28.296875, + 28.328125, + 28.3125, + 28.296875, + 28.3125, + 28.296875, + 28.3125 + ], + "rss_before_mib": 28.25, + "rss_before_samples_mib": [ + 28.234375, + 28.265625, + 28.25, + 28.234375, + 28.25, + 28.234375, + 28.25 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.04698, + "cpu_samples_us": [ + 0.047345, + 0.04719, + 0.04698, + 0.04685, + 0.046935, + 0.047155, + 0.046945 + ], + "peak_rss_mib": 25.515625, + "peak_rss_samples_mib": [ + 25.53125, + 25.53125, + 25.53125, + 25.515625, + 25.515625, + 25.515625, + 25.515625 + ], + "rss_after_mib": 24.453125, + "rss_after_samples_mib": [ + 24.46875, + 24.46875, + 24.46875, + 24.453125, + 24.453125, + 24.453125, + 24.453125 + ], + "rss_before_mib": 11.90625, + "rss_before_samples_mib": [ + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.90625, + 11.90625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.253885, + "cpu_samples_us": [ + 0.256735, + 0.253845, + 0.25416, + 0.25464, + 0.253235, + 0.2536, + 0.253885 + ], + "peak_rss_mib": 36.046875, + "peak_rss_samples_mib": [ + 36.03125, + 36.046875, + 36.046875, + 36.046875, + 36.03125, + 36.046875, + 36.046875 + ], + "rss_after_mib": 35.546875, + "rss_after_samples_mib": [ + 35.53125, + 35.546875, + 35.546875, + 35.546875, + 35.53125, + 35.546875, + 35.546875 + ], + "rss_before_mib": 11.890625, + "rss_before_samples_mib": [ + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.90625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.11285, + "cpu_samples_us": [ + 0.112735, + 0.11319, + 0.11285, + 0.11358, + 0.1125, + 0.11262, + 0.11365 + ], + "peak_rss_mib": 72.15625, + "peak_rss_samples_mib": [ + 72.1875, + 72.15625, + 72.140625, + 72.140625, + 72.15625, + 72.1875, + 72.171875 + ], + "rss_after_mib": 71.453125, + "rss_after_samples_mib": [ + 71.4375, + 71.5, + 71.40625, + 71.4375, + 71.453125, + 71.515625, + 71.484375 + ], + "rss_before_mib": 52.34375, + "rss_before_samples_mib": [ + 52.328125, + 52.28125, + 52.25, + 52.34375, + 52.34375, + 52.359375, + 52.40625 + ] + }, + { + "fixture": "tiny_object", + "operation": "retain-stringify", + "iterations": 200000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.135745, + "cpu_samples_us": [ + 0.135975, + 0.136005, + 0.135505, + 0.1361, + 0.135745, + 0.135585, + 0.13566 + ], + "peak_rss_mib": 47.484375, + "peak_rss_samples_mib": [ + 47.46875, + 47.484375, + 47.484375, + 47.46875, + 47.484375, + 47.484375, + 47.453125 + ], + "rss_after_mib": 47.078125, + "rss_after_samples_mib": [ + 47.0625, + 47.078125, + 47.078125, + 47.0625, + 47.078125, + 47.078125, + 47.046875 + ], + "rss_before_mib": 28.25, + "rss_before_samples_mib": [ + 28.234375, + 28.25, + 28.25, + 28.234375, + 28.25, + 28.25, + 28.21875 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 12.0, + "cpu_samples_us": [ + 12.0, + 12.0, + 12.0, + 13.0, + 11.0, + 11.0, + 11.0 + ], + "peak_rss_mib": 13.0625, + "peak_rss_samples_mib": [ + 13.0625, + 13.0625, + 13.0625, + 13.0625, + 13.0625, + 13.0625, + 13.0625 + ], + "rss_after_mib": 11.984375, + "rss_after_samples_mib": [ + 11.984375, + 11.984375, + 11.984375, + 11.984375, + 11.984375, + 11.984375, + 11.984375 + ], + "rss_before_mib": 11.890625, + "rss_before_samples_mib": [ + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625, + 11.890625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 18.0, + "cpu_samples_us": [ + 20.0, + 19.0, + 19.0, + 16.0, + 18.0, + 15.0, + 18.0 + ], + "peak_rss_mib": 13.109375, + "peak_rss_samples_mib": [ + 13.109375, + 13.109375, + 13.125, + 13.109375, + 13.109375, + 13.109375, + 13.125 + ], + "rss_after_mib": 12.015625, + "rss_after_samples_mib": [ + 12.015625, + 12.015625, + 12.03125, + 12.015625, + 12.015625, + 12.015625, + 12.03125 + ], + "rss_before_mib": 11.875, + "rss_before_samples_mib": [ + 11.875, + 11.875, + 11.890625, + 11.875, + 11.875, + 11.875, + 11.890625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 366.0, + "cpu_samples_us": [ + 357.0, + 366.0, + 366.0, + 366.0, + 355.0, + 364.0, + 380.0 + ], + "peak_rss_mib": 53.640625, + "peak_rss_samples_mib": [ + 53.65625, + 53.578125, + 53.640625, + 53.65625, + 53.640625, + 53.640625, + 53.671875 + ], + "rss_after_mib": 52.90625, + "rss_after_samples_mib": [ + 52.9375, + 52.84375, + 52.875, + 52.90625, + 52.90625, + 52.921875, + 52.890625 + ], + "rss_before_mib": 52.359375, + "rss_before_samples_mib": [ + 52.421875, + 52.296875, + 52.328125, + 52.359375, + 52.421875, + 52.390625, + 52.359375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 13.0, + "cpu_samples_us": [ + 12.0, + 13.0, + 12.0, + 13.0, + 13.0, + 13.0, + 13.0 + ], + "peak_rss_mib": 28.734375, + "peak_rss_samples_mib": [ + 28.75, + 28.75, + 28.734375, + 28.734375, + 28.734375, + 28.71875, + 28.796875 + ], + "rss_after_mib": 28.328125, + "rss_after_samples_mib": [ + 28.34375, + 28.34375, + 28.328125, + 28.328125, + 28.328125, + 28.3125, + 28.390625 + ], + "rss_before_mib": 28.265625, + "rss_before_samples_mib": [ + 28.28125, + 28.28125, + 28.265625, + 28.265625, + 28.265625, + 28.25, + 28.328125 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "perry", + "repetitions": 7, + "cpu_us": 0.06716, + "cpu_samples_us": [ + 0.06802, + 0.06669, + 0.06777, + 0.06645, + 0.06726, + 0.06662, + 0.06716 + ], + "peak_rss_mib": 28.703125, + "peak_rss_samples_mib": [ + 28.6875, + 28.703125, + 28.703125, + 28.703125, + 28.703125, + 28.6875, + 28.703125 + ], + "rss_after_mib": 27.640625, + "rss_after_samples_mib": [ + 27.625, + 27.640625, + 27.640625, + 27.640625, + 27.640625, + 27.625, + 27.640625 + ], + "rss_before_mib": 11.890625, + "rss_before_samples_mib": [ + 11.890625, + 11.90625, + 11.890625, + 11.90625, + 11.890625, + 11.890625, + 11.890625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 0.46189, + "cpu_samples_us": [ + 0.46269, + 0.46158, + 0.4615, + 0.46161, + 0.46233, + 0.46235, + 0.46189 + ], + "peak_rss_mib": 38.53125, + "peak_rss_samples_mib": [ + 38.515625, + 38.53125, + 38.53125, + 38.53125, + 38.53125, + 38.53125, + 38.53125 + ], + "rss_after_mib": 30.78125, + "rss_after_samples_mib": [ + 30.765625, + 30.78125, + 30.78125, + 30.78125, + 30.78125, + 30.78125, + 30.78125 + ], + "rss_before_mib": 11.875, + "rss_before_samples_mib": [ + 11.875, + 11.875, + 11.890625, + 11.875, + 11.875, + 11.890625, + 11.890625 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "node", + "repetitions": 7, + "cpu_us": 0.32494, + "cpu_samples_us": [ + 0.32636, + 0.32172, + 0.32223, + 0.32688, + 0.32097, + 0.32494, + 0.32663 + ], + "peak_rss_mib": 81.21875, + "peak_rss_samples_mib": [ + 81.296875, + 81.203125, + 81.21875, + 81.0625, + 81.140625, + 81.21875, + 81.234375 + ], + "rss_after_mib": 80.484375, + "rss_after_samples_mib": [ + 80.59375, + 80.5, + 80.484375, + 80.40625, + 80.4375, + 80.484375, + 80.515625 + ], + "rss_before_mib": 52.359375, + "rss_before_samples_mib": [ + 52.453125, + 52.375, + 52.359375, + 52.3125, + 52.328125, + 52.3125, + 52.359375 + ] + }, + { + "fixture": "small_record", + "operation": "retain-stringify", + "iterations": 100000, + "engine": "bun", + "repetitions": 7, + "cpu_us": 0.40808, + "cpu_samples_us": [ + 0.40981, + 0.41034, + 0.40744, + 0.40957, + 0.40808, + 0.40656, + 0.40782 + ], + "peak_rss_mib": 51.515625, + "peak_rss_samples_mib": [ + 51.578125, + 51.515625, + 51.53125, + 51.515625, + 51.515625, + 51.515625, + 51.515625 + ], + "rss_after_mib": 51.109375, + "rss_after_samples_mib": [ + 51.171875, + 51.109375, + 51.125, + 51.109375, + 51.109375, + 51.109375, + 51.109375 + ], + "rss_before_mib": 28.265625, + "rss_before_samples_mib": [ + 28.328125, + 28.265625, + 28.28125, + 28.265625, + 28.265625, + 28.265625, + 28.265625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 135.0, + "cpu_samples_us": [ + 136.0, + 132.0, + 135.0, + 128.0, + 135.0, + 145.0, + 130.0 + ], + "peak_rss_mib": 18.734375, + "peak_rss_samples_mib": [ + 18.734375, + 18.734375, + 18.734375, + 18.71875, + 18.734375, + 18.71875, + 18.71875 + ], + "rss_after_mib": 17.671875, + "rss_after_samples_mib": [ + 17.671875, + 17.671875, + 17.671875, + 17.65625, + 17.671875, + 17.65625, + 17.65625 + ], + "rss_before_mib": 16.578125, + "rss_before_samples_mib": [ + 16.578125, + 16.578125, + 16.578125, + 16.5625, + 16.578125, + 16.5625, + 16.5625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 272.0, + "cpu_samples_us": [ + 272.0, + 283.0, + 289.0, + 264.0, + 264.0, + 281.0, + 261.0 + ], + "peak_rss_mib": 19.890625, + "peak_rss_samples_mib": [ + 19.890625, + 19.875, + 19.875, + 19.875, + 19.890625, + 19.890625, + 19.890625 + ], + "rss_after_mib": 18.8125, + "rss_after_samples_mib": [ + 18.8125, + 18.796875, + 18.796875, + 18.796875, + 18.8125, + 18.8125, + 18.8125 + ], + "rss_before_mib": 16.546875, + "rss_before_samples_mib": [ + 16.5625, + 16.546875, + 16.546875, + 16.546875, + 16.5625, + 16.5625, + 16.546875 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1236.0, + "cpu_samples_us": [ + 1218.0, + 1243.0, + 1236.0, + 1207.0, + 1233.0, + 1257.0, + 1251.0 + ], + "peak_rss_mib": 61.65625, + "peak_rss_samples_mib": [ + 61.65625, + 61.625, + 61.6875, + 61.625, + 61.65625, + 61.703125, + 61.625 + ], + "rss_after_mib": 60.765625, + "rss_after_samples_mib": [ + 60.75, + 60.765625, + 60.828125, + 60.75, + 60.796875, + 60.859375, + 60.734375 + ], + "rss_before_mib": 57.796875, + "rss_before_samples_mib": [ + 57.78125, + 57.796875, + 57.859375, + 57.796875, + 57.8125, + 57.859375, + 57.75 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 649.0, + "cpu_samples_us": [ + 649.0, + 672.0, + 649.0, + 670.0, + 644.0, + 644.0, + 650.0 + ], + "peak_rss_mib": 34.0625, + "peak_rss_samples_mib": [ + 34.0625, + 34.03125, + 34.03125, + 34.15625, + 34.0625, + 34.0625, + 34.03125 + ], + "rss_after_mib": 33.65625, + "rss_after_samples_mib": [ + 33.65625, + 33.625, + 33.625, + 33.75, + 33.65625, + 33.65625, + 33.625 + ], + "rss_before_mib": 31.5625, + "rss_before_samples_mib": [ + 31.5625, + 31.53125, + 31.53125, + 31.65625, + 31.5625, + 31.5625, + 31.53125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 169.9375, + "cpu_samples_us": [ + 186.96875, + 171.5, + 172.375, + 169.03125, + 168.625, + 169.78125, + 169.9375 + ], + "peak_rss_mib": 51.78125, + "peak_rss_samples_mib": [ + 51.78125, + 51.765625, + 51.75, + 51.75, + 51.78125, + 51.78125, + 51.78125 + ], + "rss_after_mib": 51.265625, + "rss_after_samples_mib": [ + 51.265625, + 51.25, + 51.234375, + 51.234375, + 51.265625, + 51.265625, + 51.265625 + ], + "rss_before_mib": 16.578125, + "rss_before_samples_mib": [ + 16.578125, + 16.5625, + 16.5625, + 16.578125, + 16.578125, + 16.578125, + 16.578125 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 246.8125, + "cpu_samples_us": [ + 246.4375, + 246.8125, + 247.65625, + 246.34375, + 246.78125, + 255.09375, + 249.1875 + ], + "peak_rss_mib": 52.90625, + "peak_rss_samples_mib": [ + 52.890625, + 52.90625, + 52.90625, + 52.859375, + 52.90625, + 52.859375, + 52.90625 + ], + "rss_after_mib": 52.40625, + "rss_after_samples_mib": [ + 52.390625, + 52.40625, + 52.40625, + 52.359375, + 52.40625, + 52.359375, + 52.40625 + ], + "rss_before_mib": 16.546875, + "rss_before_samples_mib": [ + 16.546875, + 16.546875, + 16.5625, + 16.546875, + 16.546875, + 16.546875, + 16.5625 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 485.6875, + "cpu_samples_us": [ + 485.03125, + 486.21875, + 485.46875, + 485.6875, + 486.25, + 485.5, + 486.5625 + ], + "peak_rss_mib": 93.359375, + "peak_rss_samples_mib": [ + 93.40625, + 93.3125, + 93.359375, + 93.328125, + 93.375, + 93.328125, + 93.375 + ], + "rss_after_mib": 92.46875, + "rss_after_samples_mib": [ + 92.515625, + 92.4375, + 92.484375, + 92.4375, + 92.46875, + 92.46875, + 92.453125 + ], + "rss_before_mib": 57.828125, + "rss_before_samples_mib": [ + 57.90625, + 57.75, + 57.84375, + 57.828125, + 57.78125, + 57.84375, + 57.734375 + ] + }, + { + "fixture": "long_string_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 605.3125, + "cpu_samples_us": [ + 608.34375, + 604.46875, + 598.59375, + 605.46875, + 605.3125, + 604.03125, + 608.625 + ], + "peak_rss_mib": 65.171875, + "peak_rss_samples_mib": [ + 65.15625, + 65.234375, + 65.125, + 65.171875, + 65.171875, + 65.1875, + 65.1875 + ], + "rss_after_mib": 64.765625, + "rss_after_samples_mib": [ + 64.75, + 64.828125, + 64.71875, + 64.765625, + 64.765625, + 64.78125, + 64.78125 + ], + "rss_before_mib": 31.578125, + "rss_before_samples_mib": [ + 31.5625, + 31.609375, + 31.546875, + 31.578125, + 31.5625, + 31.578125, + 31.578125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "perry", + "repetitions": 7, + "cpu_us": 117.0, + "cpu_samples_us": [ + 117.0, + 117.0, + 115.0, + 117.0, + 112.0, + 116.0, + 118.0 + ], + "peak_rss_mib": 17.59375, + "peak_rss_samples_mib": [ + 17.59375, + 17.59375, + 17.578125, + 17.578125, + 17.59375, + 17.578125, + 17.59375 + ], + "rss_after_mib": 16.53125, + "rss_after_samples_mib": [ + 16.53125, + 16.53125, + 16.515625, + 16.515625, + 16.53125, + 16.515625, + 16.53125 + ], + "rss_before_mib": 15.59375, + "rss_before_samples_mib": [ + 15.59375, + 15.59375, + 15.578125, + 15.578125, + 15.59375, + 15.578125, + 15.59375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 284.0, + "cpu_samples_us": [ + 288.0, + 283.0, + 304.0, + 279.0, + 283.0, + 285.0, + 284.0 + ], + "peak_rss_mib": 18.546875, + "peak_rss_samples_mib": [ + 18.546875, + 18.546875, + 18.546875, + 18.546875, + 18.53125, + 18.546875, + 18.546875 + ], + "rss_after_mib": 17.46875, + "rss_after_samples_mib": [ + 17.46875, + 17.46875, + 17.46875, + 17.46875, + 17.453125, + 17.46875, + 17.46875 + ], + "rss_before_mib": 15.578125, + "rss_before_samples_mib": [ + 15.5625, + 15.578125, + 15.578125, + 15.578125, + 15.5625, + 15.5625, + 15.578125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "node", + "repetitions": 7, + "cpu_us": 1391.0, + "cpu_samples_us": [ + 1379.0, + 1370.0, + 1401.0, + 1395.0, + 1381.0, + 1394.0, + 1391.0 + ], + "peak_rss_mib": 61.59375, + "peak_rss_samples_mib": [ + 61.515625, + 61.59375, + 61.609375, + 61.609375, + 61.59375, + 61.515625, + 61.609375 + ], + "rss_after_mib": 60.9375, + "rss_after_samples_mib": [ + 60.890625, + 60.890625, + 60.9375, + 60.96875, + 60.9375, + 60.859375, + 60.9375 + ], + "rss_before_mib": 58.203125, + "rss_before_samples_mib": [ + 58.171875, + 58.203125, + 58.1875, + 58.234375, + 58.203125, + 58.140625, + 58.21875 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 1, + "engine": "bun", + "repetitions": 7, + "cpu_us": 558.0, + "cpu_samples_us": [ + 576.0, + 558.0, + 554.0, + 588.0, + 539.0, + 551.0, + 572.0 + ], + "peak_rss_mib": 34.46875, + "peak_rss_samples_mib": [ + 34.46875, + 34.484375, + 34.4375, + 34.53125, + 34.4375, + 34.484375, + 34.4375 + ], + "rss_after_mib": 34.0625, + "rss_after_samples_mib": [ + 34.0625, + 34.078125, + 34.03125, + 34.125, + 34.03125, + 34.078125, + 34.03125 + ], + "rss_before_mib": 32.171875, + "rss_before_samples_mib": [ + 32.171875, + 32.1875, + 32.15625, + 32.234375, + 32.15625, + 32.203125, + 32.140625 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "perry", + "repetitions": 7, + "cpu_us": 69.375, + "cpu_samples_us": [ + 66.09375, + 69.375, + 69.25, + 70.96875, + 69.8125, + 69.15625, + 69.8125 + ], + "peak_rss_mib": 42.96875, + "peak_rss_samples_mib": [ + 42.96875, + 42.953125, + 42.953125, + 42.96875, + 42.96875, + 42.953125, + 42.96875 + ], + "rss_after_mib": 41.90625, + "rss_after_samples_mib": [ + 41.90625, + 41.890625, + 41.890625, + 41.90625, + 41.90625, + 41.890625, + 41.90625 + ], + "rss_before_mib": 15.59375, + "rss_before_samples_mib": [ + 15.59375, + 15.578125, + 15.578125, + 15.59375, + 15.59375, + 15.578125, + 15.59375 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "baseline", + "repetitions": 7, + "cpu_us": 189.5625, + "cpu_samples_us": [ + 187.5625, + 189.96875, + 190.40625, + 189.6875, + 189.5, + 187.5625, + 189.5625 + ], + "peak_rss_mib": 43.921875, + "peak_rss_samples_mib": [ + 43.921875, + 43.921875, + 43.921875, + 43.90625, + 43.90625, + 43.921875, + 43.921875 + ], + "rss_after_mib": 42.84375, + "rss_after_samples_mib": [ + 42.84375, + 42.84375, + 42.84375, + 42.828125, + 42.828125, + 42.84375, + 42.84375 + ], + "rss_before_mib": 15.5625, + "rss_before_samples_mib": [ + 15.578125, + 15.5625, + 15.578125, + 15.5625, + 15.5625, + 15.5625, + 15.578125 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "node", + "repetitions": 7, + "cpu_us": 626.0625, + "cpu_samples_us": [ + 625.75, + 624.46875, + 625.78125, + 627.625, + 626.0625, + 628.75, + 636.96875 + ], + "peak_rss_mib": 89.84375, + "peak_rss_samples_mib": [ + 89.859375, + 89.84375, + 89.9375, + 89.90625, + 89.84375, + 89.78125, + 89.8125 + ], + "rss_after_mib": 89.171875, + "rss_after_samples_mib": [ + 89.21875, + 89.171875, + 89.3125, + 89.25, + 89.15625, + 89.140625, + 89.171875 + ], + "rss_before_mib": 58.1875, + "rss_before_samples_mib": [ + 58.28125, + 58.1875, + 58.3125, + 58.328125, + 58.15625, + 58.171875, + 58.140625 + ] + }, + { + "fixture": "unicode_1m", + "operation": "retain-stringify", + "iterations": 32, + "engine": "bun", + "repetitions": 7, + "cpu_us": 483.5, + "cpu_samples_us": [ + 486.28125, + 483.5, + 483.53125, + 483.0, + 481.0625, + 480.09375, + 487.6875 + ], + "peak_rss_mib": 62.171875, + "peak_rss_samples_mib": [ + 62.234375, + 62.15625, + 62.15625, + 62.171875, + 62.171875, + 62.265625, + 62.171875 + ], + "rss_after_mib": 61.765625, + "rss_after_samples_mib": [ + 61.828125, + 61.75, + 61.75, + 61.765625, + 61.765625, + 61.859375, + 61.765625 + ], + "rss_before_mib": 32.15625, + "rss_before_samples_mib": [ + 32.203125, + 32.140625, + 32.140625, + 32.15625, + 32.15625, + 32.234375, + 32.15625 + ] + } +] diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/verify.jsonl b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/verify.jsonl new file mode 100644 index 0000000000..0c5b1dad11 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/verify.jsonl @@ -0,0 +1,40 @@ +{"wall_ms": 0.003375000000000128, "user_us": 326.0, "system_us": 32.0, "rss_before": 54935552.0, "rss_after": 55427072.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 288768848, "cycles": 97142877, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.0019590000000029306, "user_us": 8.0, "system_us": 37.0, "rss_before": 12533760.0, "rss_after": 12550144.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13680640, "instructions": 75425435, "cycles": 41945613, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.007583999999997815, "user_us": 15.0, "system_us": 37.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 75418640, "cycles": 41916555, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.003917000000001281, "user_us": 374.0, "system_us": 35.0, "rss_before": 55001088.0, "rss_after": 55459840.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 291109780, "cycles": 98172951, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0026669999999988647, "user_us": 4.0, "system_us": 2.0, "rss_before": 29671424.0, "rss_after": 29704192.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30113792, "instructions": 137489146, "cycles": 48406741, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.0034999999999989484, "user_us": 324.0, "system_us": 36.0, "rss_before": 54968320.0, "rss_after": 55459840.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 287737381, "cycles": 96366691, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 200000} +{"wall_ms": 0.000500000000000167, "user_us": 2.0, "system_us": 1.0, "rss_before": 12550144.0, "rss_after": 12566528.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62535857, "cycles": 19668440, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "perry", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.001874999999999627, "user_us": 4.0, "system_us": 2.0, "rss_before": 12566528.0, "rss_after": 12582912.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 13729792, "instructions": 62554014, "cycles": 19202657, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.0034999999999989484, "user_us": 322.0, "system_us": 31.0, "rss_before": 54951936.0, "rss_after": 55410688.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 56246272, "instructions": 292474096, "cycles": 100054542, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "node", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.0029170000000000584, "user_us": 5.0, "system_us": 2.0, "rss_before": 29655040.0, "rss_after": 29687808.0, "checksum": 105.0, "retained": 15.0, "fixture": "tiny_object", "iterations": 7, "warmup": 8, "peak_rss": 30097408, "instructions": 136902445, "cycles": 47671026, "verify_sha256": "015abd7f5cc57a2dd94b7590f04ad8084273905ee33ec5cebeae62276a97f862", "engine": "bun", "operation": "retain-stringify", "case_iterations": 200000, "correct": true} +{"wall_ms": 0.00495800000000024, "user_us": 328.0, "system_us": 34.0, "rss_before": 55001088.0, "rss_after": 55508992.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56295424, "instructions": 292537317, "cycles": 100499866, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.000500000000000167, "user_us": 3.0, "system_us": 1.0, "rss_before": 12550144.0, "rss_after": 12566528.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62608547, "cycles": 19686969, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.003874999999999851, "user_us": 6.0, "system_us": 2.0, "rss_before": 12582912.0, "rss_after": 12599296.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13746176, "instructions": 62779665, "cycles": 19407495, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.005041999999999547, "user_us": 326.0, "system_us": 37.0, "rss_before": 55017472.0, "rss_after": 55541760.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56328192, "instructions": 292281041, "cycles": 100006704, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.004875000000000185, "user_us": 6.0, "system_us": 1.0, "rss_before": 29687808.0, "rss_after": 29720576.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30146560, "instructions": 137047295, "cycles": 47896346, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 0.005124999999999602, "user_us": 322.0, "system_us": 39.0, "rss_before": 54935552.0, "rss_after": 55443456.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56262656, "instructions": 293340243, "cycles": 100860965, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 100000} +{"wall_ms": 0.0005830000000002222, "user_us": 3.0, "system_us": 2.0, "rss_before": 12550144.0, "rss_after": 12566528.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13697024, "instructions": 62523029, "cycles": 19645880, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "perry", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.0038330000000001974, "user_us": 5.0, "system_us": 2.0, "rss_before": 12599296.0, "rss_after": 12615680.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 13762560, "instructions": 62728530, "cycles": 19375040, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.005000000000000782, "user_us": 332.0, "system_us": 34.0, "rss_before": 54870016.0, "rss_after": 55410688.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 56229888, "instructions": 291042226, "cycles": 99460481, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "node", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 0.004666999999999533, "user_us": 6.0, "system_us": 1.0, "rss_before": 29704192.0, "rss_after": 29736960.0, "checksum": 1605.0, "retained": 15.0, "fixture": "small_record", "iterations": 7, "warmup": 8, "peak_rss": 30162944, "instructions": 137096572, "cycles": 47733860, "verify_sha256": "93e0c4400b8f15cc5a30a309665b3835fa7a827cbafbef7d9aa83c61583ac182", "engine": "bun", "operation": "retain-stringify", "case_iterations": 100000, "correct": true} +{"wall_ms": 3.2994580000000013, "user_us": 3261.0, "system_us": 550.0, "rss_before": 70680576.0, "rss_after": 78594048.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81707008, "instructions": 438606301, "cycles": 130504173, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.54, "user_us": 158.0, "system_us": 386.0, "rss_before": 25968640.0, "rss_after": 33456128.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37830656, "instructions": 88321938, "cycles": 28960708, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 1.0241249999999997, "user_us": 703.0, "system_us": 325.0, "rss_before": 27197440.0, "rss_after": 33603584.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37994496, "instructions": 108035971, "cycles": 31983399, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.2673330000000007, "user_us": 3293.0, "system_us": 499.0, "rss_before": 70696960.0, "rss_after": 78659584.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81756160, "instructions": 437425287, "cycles": 128563355, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.008333, "user_us": 3613.0, "system_us": 400.0, "rss_before": 42582016.0, "rss_after": 49954816.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 50380800, "instructions": 291138491, "cycles": 77026450, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.290416999999998, "user_us": 3241.0, "system_us": 506.0, "rss_before": 70746112.0, "rss_after": 78741504.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81805312, "instructions": 437495226, "cycles": 129559524, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 32} +{"wall_ms": 0.5686659999999994, "user_us": 154.0, "system_us": 418.0, "rss_before": 25985024.0, "rss_after": 33472512.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37847040, "instructions": 88229220, "cycles": 28575806, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "perry", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 1.024458, "user_us": 684.0, "system_us": 344.0, "rss_before": 27197440.0, "rss_after": 33603584.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 37994496, "instructions": 108031903, "cycles": 32099143, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 3.271167000000002, "user_us": 3289.0, "system_us": 538.0, "rss_before": 70680576.0, "rss_after": 78594048.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 81707008, "instructions": 440907031, "cycles": 132500269, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "node", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 4.02075, "user_us": 3617.0, "system_us": 408.0, "rss_before": 42614784.0, "rss_after": 49987584.0, "checksum": 15728910.0, "retained": 15.0, "fixture": "long_string_1m", "iterations": 7, "warmup": 8, "peak_rss": 50413568, "instructions": 291289477, "cycles": 77439092, "verify_sha256": "ea77e5d1ebb84c30a920d4de6aee5c5c92c2aba6cf060c30f1933e1e000e9081", "engine": "bun", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 4.226165999999999, "user_us": 4256.0, "system_us": 492.0, "rss_before": 70107136.0, "rss_after": 77283328.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78938112, "instructions": 507230580, "cycles": 142043180, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 1} +{"wall_ms": 0.46999999999999975, "user_us": 131.0, "system_us": 343.0, "rss_before": 23511040.0, "rss_after": 29736960.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33538048, "instructions": 98251544, "cycles": 30267567, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 1.3585830000000003, "user_us": 983.0, "system_us": 379.0, "rss_before": 24510464.0, "rss_after": 30720000.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 34553856, "instructions": 128267612, "cycles": 36486514, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.2180420000000005, "user_us": 4308.0, "system_us": 495.0, "rss_before": 70156288.0, "rss_after": 77234176.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78872576, "instructions": 505021000, "cycles": 139680106, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 3.3403329999999993, "user_us": 3001.0, "system_us": 343.0, "rss_before": 42188800.0, "rss_after": 48791552.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49266688, "instructions": 290030428, "cycles": 83304315, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-stringify", "case_iterations": 1, "correct": true} +{"wall_ms": 4.2586249999999986, "user_us": 4298.0, "system_us": 528.0, "rss_before": 70008832.0, "rss_after": 77119488.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78774272, "instructions": 510622845, "cycles": 145038034, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 32} +{"wall_ms": 0.506875, "user_us": 133.0, "system_us": 381.0, "rss_before": 23494656.0, "rss_after": 29720576.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 33538048, "instructions": 98466888, "cycles": 30888237, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "perry", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 1.2665420000000003, "user_us": 976.0, "system_us": 298.0, "rss_before": 24510464.0, "rss_after": 30720000.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 34553856, "instructions": 127972053, "cycles": 35786476, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "baseline", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 4.219458000000003, "user_us": 4297.0, "system_us": 468.0, "rss_before": 70090752.0, "rss_after": 77217792.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 78921728, "instructions": 511275759, "cycles": 144850348, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "node", "operation": "retain-stringify", "case_iterations": 32, "correct": true} +{"wall_ms": 3.345749999999999, "user_us": 3001.0, "system_us": 350.0, "rss_before": 42221568.0, "rss_after": 48807936.0, "checksum": 7020270.0, "retained": 15.0, "fixture": "unicode_1m", "iterations": 7, "warmup": 8, "peak_rss": 49283072, "instructions": 290076800, "cycles": 83098023, "verify_sha256": "b58eea42a50190b7675886030ef6875b25bb0a6d50632d9cbc5a918ea4ad9bd9", "engine": "bun", "operation": "retain-stringify", "case_iterations": 32, "correct": true} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/window.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/window.json new file mode 100644 index 0000000000..539a94af15 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/window.json @@ -0,0 +1,32 @@ +{ + "owner": "json-perf-5431-1789115547", + "load_before": [ + 1.73193359375, + 1.7939453125, + 1.6259765625 + ], + "started_utc": "2026-09-11T08:32:27Z", + "quiet_gate_passed": true, + "command": [ + "python3", + ".work/zero-spacing-r25/run-zero-retained.py", + "--worker", + ".work/zero-spacing-r25/candidate-retained-zero", + "--baseline-worker", + ".work/zero-spacing-r25/main-retained-zero", + "--node", + "/opt/homebrew/bin/node", + "--bun", + "/Users/perry/.bun/bin/bun", + "--results-dir", + "results/quiet-zero-spacing-r25-zero-retained" + ], + "competing_workloads_before": [], + "load_after": [ + 1.76611328125, + 1.80029296875, + 1.6298828125 + ], + "competing_workloads_after": [], + "finished_utc": "2026-09-11T08:32:37Z" +} diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/with_lock.py b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/with_lock.py new file mode 100644 index 0000000000..78ae9c9d17 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/with_lock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Run on the shared benchmark Mac; never replace another run's lock.""" +from pathlib import Path +import json, os, subprocess, sys, time +root=Path(__file__).resolve().parent +custom_command=sys.argv[2:] if sys.argv[1:2]==['--'] else None +if custom_command==[]: raise SystemExit('Expected a command after --') +phases=['custom'] if custom_command else sys.argv[1:] or ['timing','memory','tape'] +lock=Path.home()/'bench.lock' +token='json-perf-'+str(os.getpid())+'-'+str(int(time.time())) +def competing_workloads(processes): + return [line.strip() for line in processes.splitlines() + if any(name in line for name in ['/rustc','/cargo','/ccperf/','/worker'])] +try: lock.mkdir() +except FileExistsError: + print('BUSY', (lock/'owner').read_text());sys.exit(2) +(lock/'owner').write_text(token) +meta={'owner':token,'load_before':os.getloadavg(),'started_utc':time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()),'quiet_gate_passed':False} +if custom_command: meta['command']=custom_command +try: + print('ACQUIRED',token,'load',os.getloadavg(),flush=True) + if os.getloadavg()[0]>2.5: raise RuntimeError('Host too busy for timing') + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + meta['competing_workloads_before']=competing_workloads(ps) + if meta['competing_workloads_before']: raise RuntimeError('Competing workload on measurement host: '+repr(meta['competing_workloads_before'])) + (root/'results/processes-before.txt').write_text(ps) + for phase in phases: + with (root/(phase+'.log')).open('w') as log: + cmd=custom_command or (['python3',str(root/(phase+'.py'))] if phase in ['diagnostics','profiles','fastpaths'] else ['python3',str(root/'run.py'),'--phase',phase]) + subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,check=True) + print('FINISHED',phase,'load',os.getloadavg(),flush=True) + meta['load_after']=os.getloadavg() + ps=subprocess.check_output(['ps','-Ao','pid,pcpu,comm'],text=True) + (root/'results/processes-after.txt').write_text(ps) + meta['competing_workloads_after']=competing_workloads(ps) + meta['quiet_gate_passed']=meta['load_after'][0]<=2.5 and not meta['competing_workloads_after'] + print('QUIET_GATE',meta['quiet_gate_passed'],flush=True) +finally: + meta['finished_utc']=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime()) + (root/('results/window-'+'-'.join(phases)+'.json')).write_text(json.dumps(meta,indent=2)+'\n') + if (lock/'owner').read_text()==token: + (lock/'owner').unlink();lock.rmdir();print('RELEASED',flush=True) diff --git a/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/zero-root-comparison.json b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/zero-root-comparison.json new file mode 100644 index 0000000000..59f85a3b16 --- /dev/null +++ b/benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/zero-root-comparison.json @@ -0,0 +1,17 @@ +{ + "matches": true, + "files": [ + { + "mode": "native", + "normalized_sha256": "a452c11cd5682ca7099a90032eb786db6a0d779d6102a8e506bfe8c0276c79f5", + "main_sha256": "26e1fc8515572f88d97031d233e90524f597c6891a10d6df8f472f522ec4166c", + "candidate_sha256": "95358f604170bd3dcb6dbd982618e8e8dd3abc6fe306cdd9ec0d109bcdfd0ebd" + }, + { + "mode": "shadow", + "normalized_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "main_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938", + "candidate_sha256": "8c8a6fc9670c42ab6eb6f97a45ac8f10db326b9ba473d839d62ed33b8013e938" + } + ] +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-artifacts.json b/benchmarks/json_performance/results/zero-spacing-r25-artifacts.json new file mode 100644 index 0000000000..b19a139f75 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-artifacts.json @@ -0,0 +1,8511 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "reference_source_commit": "9495bfc95e2afcfb5a7cb535e440e61ec0722cb1", + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "timed_trials": 3592, + "verification_records": 660, + "calibration_trials": 72, + "qualification": "Controlled R24 comparison at 0.5.1531, unmerged; measured tradeoffs and remaining validation failures disclosed in the report.", + "files": [ + { + "path": "benchmarks/json_performance/ZERO_SPACING_R25.md", + "bytes": 37717, + "sha256": "daa16f69a71a618b0d667afe5435c244a8ce801920132c100141bc5efd984c63" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-cases.json", + "bytes": 333, + "sha256": "27c6edca6250343f4097d316be2152244ea86a19148e874c78ee0cf503ba4561" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/controller.log", + "bytes": 89, + "sha256": "58f12ceda75a16438534ce607a9842d737e60fbb2c66f9d5dd877743af45054c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/host.json", + "bytes": 1565, + "sha256": "eb5204264087722675dec0ff83f84cce8ed39a711b3eb50e5c9452f7066b2a21" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/measure-changing-options.py", + "bytes": 1762, + "sha256": "bf3c200ba08ee6d1f90c0be241b6af2045db6881a107ddae44188aa0540303d3" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-after.txt", + "bytes": 48715, + "sha256": "c7777c90aa42a336d44bfe5f49ca08c5c43d478a2843b980e31f39ca2129d324" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/processes-before.txt", + "bytes": 48715, + "sha256": "79d5b4d3b5efad0195a0ca83be0598324df2aba085faabe49e1629f9a81e9e0a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options-command.json", + "bytes": 522, + "sha256": "34ba5b17c7a842d637ba51907339c5c61ec4006f20b2e74ad50d77879f6038b2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-changing-options.log", + "bytes": 171, + "sha256": "3467d03a749511e5df8a5eccc9220d8b5a9cd86846a6ea4d84c77958447f5d8f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/summary.json", + "bytes": 3953, + "sha256": "e4906735eb42a8e4441497c9f108b24844d39964555faaf68a04e322e3da17ef" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/timing.jsonl", + "bytes": 20117, + "sha256": "bef4e5962b36f954423019bb4efe1def91dd0e64fc20baffd935aecf1e31cdb2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/verify.jsonl", + "bytes": 4594, + "sha256": "8b2b7835fe12c6a1842842cb82736c0470eda95cebf1c4e95993f0cb8bfce3f7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/window.json", + "bytes": 909, + "sha256": "46ab7880a1bda0d79bc4f0441a55695554c6638a646064142aa311fafa5e3b9f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-changing-options/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/controller.log", + "bytes": 1808, + "sha256": "5b4794ae9b9f0de990e7b29d50e61955feb752899acaf07d725f2ae1eae8c4a9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/full-cases.json", + "bytes": 7819, + "sha256": "8728ac72d0fc35a0cf9b9131392b2ffbaa3fc47b38666e2bf0908d33efe6999c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/host.json", + "bytes": 5498, + "sha256": "810ce36a6f2bb4b903e9d15da9a965ce634fcbc58a35e8c31334d2707c983f9f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-after.txt", + "bytes": 48976, + "sha256": "a401ebce8e16dbcb95f69f0283ac4be26c0d4aef8bdec460cd0da0e920922376" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/processes-before.txt", + "bytes": 48748, + "sha256": "878041cb34156294847a550ec253b2f677cb9ff69b91a25565795439a6e22fe2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full-command.json", + "bytes": 2804, + "sha256": "7d4acbe268e9131b2468a69323fc4750c8885e7def332115ad530bde1c179125" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-full.log", + "bytes": 176, + "sha256": "2c64ef58d5d91975e45cfc04feca2fd0bed10e917d94d32d9dbb85e86ec45fc1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/summary.json", + "bytes": 106155, + "sha256": "bf1e11040d546202a5d97f230f8bdac1ed40f0567d60798ad878ed58dabdb315" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/timing.jsonl", + "bytes": 484747, + "sha256": "02d5e589ff157d96b7fc62963cc87c154a097f91e5f687c3a0fa12e08bc2330b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/verify.jsonl", + "bytes": 113573, + "sha256": "71781b8fbf728f79f07cc6acc4836f9154fc61137469d5b14a41cb53ce514f1e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/window.json", + "bytes": 3388, + "sha256": "89fd6ab6bd720cfde17676ed613026df4dc6273a9055f8fe8ce7ea3e61ec524d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-full/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/controller.log", + "bytes": 146, + "sha256": "138a9abb031a50ce65bb5d44b1d90e17d148a2d6f8fa7d567280738d6e0add46" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/host.json", + "bytes": 1688, + "sha256": "c4326daeb7741a62e78c1a5d5507419803c929a4d255210ed053431d8413c2cc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/large-cases.json", + "bytes": 602, + "sha256": "6d5b97411f8f2dd1197e807c857338103d3741a80ef4c9d2ba12399303207179" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/measure-large-options.py", + "bytes": 1708, + "sha256": "09d11119c03f3f23f6ade09fe4ab3e8e340f60c4d022d222027ec1a6ba553fe5" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-after.txt", + "bytes": 48943, + "sha256": "ffc35779f300bcbd855fbbf7a24f714cae90510bf8f2e85b0e6f6f0d3e0017c1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/processes-before.txt", + "bytes": 48487, + "sha256": "d2bfd92b149288b8e95e62da2f73d61f06c89488ecb2d0f26949035e589c7840" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options-command.json", + "bytes": 567, + "sha256": "fe8283d30607b1ebcaed0a0c30b88dde48d8e999c77de20fc050ea2addfd2b0f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-large-options.log", + "bytes": 178, + "sha256": "c7ddfa9ec21fb45547d44be584c4677676c129663ee380d8a34b4a5aaf63eafb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/summary.json", + "bytes": 8416, + "sha256": "7639715ca9e63c13e27c8d59f88a28c7f12e205c186e37e421a81030634f11de" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/timing.jsonl", + "bytes": 38905, + "sha256": "d0637eab2c47a5ec4a3b5e100cf508e4c844cc0c3ffeef72b92d52dfb6616302" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/verify.jsonl", + "bytes": 9076, + "sha256": "508d9d7cd08d74d0dc3327319f6b070c7580b75f241c44550b6355c053431b48" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/window.json", + "bytes": 969, + "sha256": "eb9ec328f082f605d4bc46cdd0e23467c3138fe2a466f5c5d0d926a3842ed9e1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-options/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/controller.log", + "bytes": 35, + "sha256": "12fe9c02180a42e395b1ca86aef76106a6b3e827b699a262b7166a97af96d7fd" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/host.json", + "bytes": 1436, + "sha256": "a9df11563db8c4c07cb21b95ac676fbd501d9000239c03b365447f4f10c79ca3" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/large-recheck-cases.json", + "bytes": 165, + "sha256": "0b4f7bb92a37fffa61bbec95dd19da5e1407a4c724f70610839c46cb603adf11" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/measure-large-recheck-options.py", + "bytes": 1781, + "sha256": "682583119410a68efc5953086db2dbc66fe1ccf54e2def559ed802da5bbf1b35" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-after.txt", + "bytes": 48715, + "sha256": "d25c3fa743a11f74a6bb13d5a531fa0d6bf6da8f0b53cc965c4525afc7050073" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/processes-before.txt", + "bytes": 48715, + "sha256": "95660b359590d957dd00476b0c42881b304dedc409fa15903bbe5e0de22bb98b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options-command.json", + "bytes": 429, + "sha256": "0d98b552b1bbcf243d748e94e6a4aa1ef0a9a109b3447619d2027a1a35938f85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-large-recheck-options.log", + "bytes": 174, + "sha256": "e2d7712f252b44f86eb0629b0b361e5dc65e6b44541fa8ab81fafd6ade35c9b8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/summary.json", + "bytes": 2694, + "sha256": "5f4e1ef78e2e409b5529903f134b96d9460c1bda52af7bcbb159e4a51e640e46" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/timing.jsonl", + "bytes": 15202, + "sha256": "14b4805b0595c34964fb286bcdb66200098f7749a16f36ac9e95e46f09a983a2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/verify.jsonl", + "bytes": 2274, + "sha256": "b9da37eec4e02de9b97dc1ca23f41644a3bd4338f232f393bca0d89aebb452c6" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/window.json", + "bytes": 815, + "sha256": "d832eee69ba556648db72d9619bcfa4b1b229db3bcb37f0b0dcc900e835a16de" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-large-recheck-options/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/controller.log", + "bytes": 263, + "sha256": "2c584d3473636a6d7a3ab1af270262159cc30edcc4b0beeb36672688a32cfec2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/host.json", + "bytes": 1953, + "sha256": "331f1c52936325c9629d0478a8633f26e7546bc6cb987e4a357b4a30c8204937" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/measure-supplement.py", + "bytes": 2719, + "sha256": "b8a9283a8f493c05fefbdb8d8d781dc02f0a637864c7d6cda90e9e34e16a6c77" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-after.txt", + "bytes": 48487, + "sha256": "49522642a3912dcdb6baaa68360bd18fb0b053749b538c07156afb20ac02bed5" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/processes-before.txt", + "bytes": 49601, + "sha256": "24f0c6775caddb7ed6890efcb42a21d5cc0a32ecbc65510442d6204feb06a6b4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options-command.json", + "bytes": 367, + "sha256": "8c0d2da36041cd1c70e3082c37ec85bc690bfb67396d32aa1f22b683bd6512bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-options.log", + "bytes": 170, + "sha256": "137bdfde0a4da44672b4b6d0e28a2fa45d7fa3a5f71d928a84cd0012b2749749" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/summary.json", + "bytes": 13505, + "sha256": "da4164e33a0f79c4a2106a916ea8c15be330b773bac09c00fecb0efae94b6283" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/timing.jsonl", + "bytes": 68687, + "sha256": "e47c1413537bc7f32810b077d77f63a9aad51e885a955a38724086dbba59d55d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/verify.jsonl", + "bytes": 15847, + "sha256": "8d37c3931d72b4d0887dc3ca2dc922092dbb748782d3971907cf84e1de01993f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/window.json", + "bytes": 745, + "sha256": "d1732ec7ab95eaf0017e7f7e305c6f46d4650d0cc78d251ced359a26d6b7cf60" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-options/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/controller.log", + "bytes": 1482, + "sha256": "4442f25fdeb1b3f7b263b1412b3f8894de3e01ab533fb5d4400c15567cf22b8b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/host.json", + "bytes": 4493, + "sha256": "0e47613001118454dc191b20c7ad259a7055eec687c4b3435fe8e98334ead934" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/measure-supplement.py", + "bytes": 2719, + "sha256": "b8a9283a8f493c05fefbdb8d8d781dc02f0a637864c7d6cda90e9e34e16a6c77" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/memory.jsonl", + "bytes": 348745, + "sha256": "dea38f6782fde3d30afb22363455d8d3f6e0b4636f27c7a6b724a168d65235e3" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-after.txt", + "bytes": 49634, + "sha256": "6078aa1106e999a6f6c4732903aa2058c052838d70c6809932b2aad792658c63" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/processes-before.txt", + "bytes": 48976, + "sha256": "e3522545c6b4eb7812288eb2a62891d88fbf54fce7ee6b8f405878c15005c968" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained-command.json", + "bytes": 367, + "sha256": "104f3bcd39debfb397bdb819914675174f10a2c16ace66f57628f5a49f7a10a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-retained.log", + "bytes": 174, + "sha256": "f07cffe32a8bfc75b6f6ffba3827ddf74c5713a0750b9ca796d895908e29230f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/summary.json", + "bytes": 120554, + "sha256": "6559096259e83595a76e92e12fe0fc1768d960244aa6e09155bafca2b818496d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/verify.jsonl", + "bytes": 82601, + "sha256": "92f48ef17f10043e6bf6b4a512345bc0ef2b9a4480c43bcb8bcfc889c1f9ec4b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/window.json", + "bytes": 749, + "sha256": "23555319f810a03f579cfe426ac8ffc7272b2101eb8b691d203860ab69c15f4c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-retained/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/calibration.jsonl", + "bytes": 22223, + "sha256": "5a1a5ff1f45c77b97d0ecc8486c27a56567074a4c065c0d9922ff4ea64d7940b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/controller.log", + "bytes": 1453, + "sha256": "9402925ee6c694370fe66fd445f9a846aee18bf959cdfc8b5166410007417df0" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/host.json", + "bytes": 5086, + "sha256": "c5143f5c09d12de353da40db7d995c83bbb6ebe07a364cfb2bbbc806203ba35f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/measure-supplement.py", + "bytes": 2719, + "sha256": "b8a9283a8f493c05fefbdb8d8d781dc02f0a637864c7d6cda90e9e34e16a6c77" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-after.txt", + "bytes": 48748, + "sha256": "47f88918f146f349c9f8b3187345b5e888dae03e5bb3ad6515995ecf576e0f19" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/processes-before.txt", + "bytes": 49128, + "sha256": "2af236db1f12c30d69e3264fe1c2f2abc99d58f712dd5c6c4bedf45e496f6149" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating-command.json", + "bytes": 559, + "sha256": "914479e3ed7a32e00983dfb2e8f2e56438df6db5345502257c5e8e2d1f5728f3" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-rotating.log", + "bytes": 170, + "sha256": "ace2b3363b00bc25d6d1afbc61f3c28a4441ff85623bc3c5809972e749e47d4d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/timing.jsonl", + "bytes": 161135, + "sha256": "c1638b3fc5f01de5e511d10ed80502c11de911660a1ba3956ee8b1a14778adbc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/verify.jsonl", + "bytes": 59808, + "sha256": "b7b1b8fa086eb7e144ae291851a553d24905678470bd0ecfb2e4c22a6e4e75db" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/window.json", + "bytes": 949, + "sha256": "d0f073d02185fead05d572d496a024451a01d9f1034326ef80406c51c8b39d23" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-rotating/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/calibration.jsonl", + "bytes": 4466, + "sha256": "2694d4b60e0bee3facd9d7d6367ad19d82cc710b622c94247eee4ba9019f5c68" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/controller.log", + "bytes": 293, + "sha256": "0eec5c547ad040af6b5255d0115654268ef47ec0e81ab8949c73bf819ae02bda" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/host.json", + "bytes": 2150, + "sha256": "8f843c34c1b3e10a80344a082421cab7590194c774ecbd4f5c5520d2c0e29846" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/measure-small-rotating-recheck.py", + "bytes": 2734, + "sha256": "75c692fcb1a6e8cfc86935712ac34742919093364212a5702d7cd6759056f6c7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-after.txt", + "bytes": 48520, + "sha256": "6240a580202adc92af5e1ea5bd9e71005d76a8eb9264eaf6f9e76d8176dccc16" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/processes-before.txt", + "bytes": 48520, + "sha256": "abcc4c0b4ef6782c7e6201cf34548a6002eb20d0c7ccce9ac7a277426d35a421" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating-command.json", + "bytes": 520, + "sha256": "c86cafa14a4f7f6508748e2cfc06c2e6ef223f581fe80c0d194e9ed4bc8df097" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-small-recheck-rotating.log", + "bytes": 165, + "sha256": "9cc872d46a1eece47f3c15efd350e7f5dc5fa9ba1396aa53db3812fece644f43" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/timing.jsonl", + "bytes": 50859, + "sha256": "ed707aa003466d758b2bb4b8a052fa8b79c4aca2cfdf3a1032a69a7e347c073b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/verify.jsonl", + "bytes": 11881, + "sha256": "f4ab2a27048438c4bf8b022f6a421a9f6366ab44413d0f131589305a47368d58" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/window.json", + "bytes": 905, + "sha256": "0744bc875a091e4f07beb76dabbb3912ccb775e27201af8b53bddc056f31cb7a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-small-recheck-rotating/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller-exit.json", + "bytes": 21, + "sha256": "81868a6e94ffc0178bf833deb1c9013d9fab4ee95ddb876a5e8ec4f1d26376d2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/controller.log", + "bytes": 338, + "sha256": "497e15b4a3eda1d137096b74a6ab7338bff14738ae872c8eec74179b2daaaf71" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/fixtures.json", + "bytes": 4941, + "sha256": "27a8bd4fb4000f445ce537de4663fbfc30dcbd26925b78b751abd673e89a353d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/host.json", + "bytes": 2079, + "sha256": "382fd3513d21e9b416b2ba6d94309eb7f336236a4dafebaf9e5a6c594f928823" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/measure-zero-retained.py", + "bytes": 1458, + "sha256": "de8de8302b063dd1c5a394ea8f0fbb5c339c70f00288fbc462f8acbfad4dc0f3" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/memory.jsonl", + "bytes": 78265, + "sha256": "991d0f661de3d78f981bb299429a758c654c1a97a63617e035ee5bb191a8a669" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-after.txt", + "bytes": 48487, + "sha256": "70af10f03f23e3bc3d7e8cc9fe191902002ca63b35fbaedcb9ddc28ab4536cf8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/processes-before.txt", + "bytes": 48487, + "sha256": "492f705c9824025ceed90af4095fbe01db6e164552bdbc10af5d5d56a51bb4e9" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained-command.json", + "bytes": 391, + "sha256": "8e7c17643b8823db52ecabe1e59427f477e1a8618d8cb76e5a15c4fd27891cf5" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/remote-zero-retained.log", + "bytes": 175, + "sha256": "7862f014291006c1b3d57c97993f92cde24c857cfbbef017b022be079500b928" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/rotating-manifest.json", + "bytes": 13336, + "sha256": "258e750740309d4b818ff375977450dc4ab63dab33c91d2fa9d0321a03dbca85" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run-zero-retained.source.json", + "bytes": 353, + "sha256": "b91def89ef565783b00f73e2efac1dfaadec45f667210baef9c7e571d071a109" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/source.patch.json", + "bytes": 203, + "sha256": "06a76c816861cd0d5e8abe3b85c8288cdd5c5c9c9befd3550d6b4d360d83a293" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/summary.json", + "bytes": 26815, + "sha256": "08a9c28f618d7145e67a5e8c53d580e8b5bc2b5a81d8ef050075022c39f26d51" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/verify.jsonl", + "bytes": 18352, + "sha256": "30adf7560ae1cc47b313bbe88d3b4ea134708c01de68e1fe28563824f666c842" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/window.json", + "bytes": 774, + "sha256": "d302fa81b70759866e3858b265dfab637d413a3bf6984e0d625481b59771870d" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/quiet-zero-spacing-r25-zero-retained/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/additional-root-comparison.json", + "bytes": 1643, + "sha256": "844c4fdf3e3e1992f706c335d3617c4788e9b8194c198cad17ccc3795f810c67" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-changing-options.py", + "bytes": 6282, + "sha256": "dcad361f6e2ecd5c3b1933638b64314cc25d1986424ec3a1b20e7d81c62d1a29" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-extras.py", + "bytes": 7106, + "sha256": "b747bf477e1a0b4308ad6ab68884f151786da4ae6ec4069512ad1836d646728d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-full.py", + "bytes": 6336, + "sha256": "3e1c44a315d5009ee31d5a1c5fa58f9384ccad261acb457d016a5b0a575926a3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-options.py", + "bytes": 6267, + "sha256": "890eb9be7484bf1453866fdc27cc3ad11f614f8b49fc0a69d7c9ea9e48609e8a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-recheck-options.py", + "bytes": 6288, + "sha256": "0c67c0e8abbc57c33e35ec92f57b24c4019a6518105b46300102bc799a4daab4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-retained.py", + "bytes": 4867, + "sha256": "77fb29d605b62a49c66e03b60d5c0bf15accb8932880cb3068805da937f60889" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-rotating.py", + "bytes": 4407, + "sha256": "fd2e84685baf7e6525dd96e7187dc4595db523740aa69e7944a56b2c9f574423" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-small-rotating-recheck.py", + "bytes": 4433, + "sha256": "0fba6080126b2157d699559f9476299a23b866ffecf511d272d12a9a32a5af00" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-zero-retained.py", + "bytes": 4875, + "sha256": "695f483ec60c1792529ce01cced55760958e3265a7133a95a72cd8f8fc7330c2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/archive-results.py", + "bytes": 4322, + "sha256": "0e19efb9e48597b0355955bcd6031ffa91bdef692f8433af3efc30ec77860c35" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/archive-validation.py", + "bytes": 2147, + "sha256": "d6935b2e50730eaac6a13a28a6d6294f8094dc18ca97618977616cfa8eb2a36e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/base.json", + "bytes": 91, + "sha256": "1372386c9aa4d8bf6a433d8d518c9fa37776857c6baf8abf93c066ab7b7961b6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-changing-worker.py", + "bytes": 1341, + "sha256": "4788cfea12588ad6b638625293f3dfad0b2f43196d81767ca20765835492af9f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-command-result.json", + "bytes": 61, + "sha256": "3708bf62525f44531571cae7846f5addf8a02eba3f38aa764e70712a7ba75012" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-provenance.json", + "bytes": 1008, + "sha256": "7635292e785b1e49e2663ba967d602e86177d2d2ff203eb07bafa64b4b4941eb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-release.py", + "bytes": 2478, + "sha256": "f104da4b90eda0c4f2f28ef311a6bdd8b8cb4afc27c65a6d6569285b2955d1fe" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-retained-zero-worker.py", + "bytes": 1340, + "sha256": "4aed26beafb68ca2f901440a5e24d60fa2b6b089c817fcd52196b27985609a07" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-start.json", + "bytes": 417, + "sha256": "725ee09eabdeb5acf82e79c1e9e26f384c0689a5c06a6e01eb4b22d7b603c66a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build-workers.py", + "bytes": 1405, + "sha256": "8ec388464aebad1d9d3b3a94cc332880a40a1df82040369f25e423cbcd15189a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/build.log.gz", + "bytes": 527, + "sha256": "8dec5117de0cd7b157d9b349709efc7c01b0e41e204ee2c53583fa2f44a594a9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/callback-only-node.stdout.gz", + "bytes": 57, + "sha256": "cbc3e9a036df44bd30b481ce8220c1156d618142dc6658d8b7fcb9e067721877" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-11cached_read8lazy_get.s.gz", + "bytes": 798, + "sha256": "388bac4ba8fb2c895e18e8549238207aaeb879d0560b4b4c61f09f66d7d0a933" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-15lazy_get_rooted.s.gz", + "bytes": 3263, + "sha256": "f976b13d0fd0eddd7473bad016b50a94cbd601e98e248af07a1e7233878b086a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-8mutation26resolve_materialized_array.s.gz", + "bytes": 3230, + "sha256": "ff3e4fc6b1be5bf8bb2d6a8e74598eb845cbb6d2b3ba9a63d1c5058580eef4ed" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-0.log.gz", + "bytes": 308, + "sha256": "34246b91f4eb18cd84e69195f1c69f647f37ddb069c5d7973f34f58c13f5adb8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-array-get.s.gz", + "bytes": 6065, + "sha256": "78362d5d656a0266f824955ec7a77959289f8db5b2d82ffd148ca2031568224b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stderr.gz", + "bytes": 9593, + "sha256": "f4c84e2af9f29a101dd380caa95cdd7117d9f6b98bf0811de072b746e14229de" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stdout.gz", + "bytes": 57, + "sha256": "cbc3e9a036df44bd30b481ce8220c1156d618142dc6658d8b7fcb9e067721877" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-compile.log.gz", + "bytes": 340, + "sha256": "068f9b425f050a8b385cc8ad8483f3bea7f9566f4989fb3a6a8d4f63703a7623" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz", + "bytes": 65792, + "sha256": "1040e67e889e5648c5ac1cb72bd55939b0565a7cbf97f3f19e75456b3934f08d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/check-0.log.gz", + "bytes": 683, + "sha256": "114e4f01a81a89cf7a1a588730b4ccc6eae3e49b38eef891bc12c55432e76bd0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/compile.log.gz", + "bytes": 505, + "sha256": "2838f8c3af33a333cecf36d94431acad8a69ff1533bff5614f3ab4a15b64cdc0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/zero.ll.gz", + "bytes": 81783, + "sha256": "c0148a443246bfb88bccca50f6dd2f7356c220c96704622c8988477b0fe1d69a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/.perry-trace/llvm/changing_options_worker_ts.ll.gz", + "bytes": 62049, + "sha256": "4291f73dad619b919f6419b231eb38241e6cfb87f9bc1df40104f4263aa795d2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-0.log.gz", + "bytes": 117, + "sha256": "fd59ff6c5a9dce3389c65282d15d8b6d3591b298dd856bb32852f0718ac4fda9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-1.log.gz", + "bytes": 153, + "sha256": "b3c5d5abdc8983e6e0ba06886304ce7fc03b8dd496118bfda338c18a0835a364" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/compile.log.gz", + "bytes": 509, + "sha256": "f3915a3d4a62ad46defd643c3fdface3fdf82fdaffe4d5af1dbb4a375b4bd661" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/zero.ll.gz", + "bytes": 62049, + "sha256": "4291f73dad619b919f6419b231eb38241e6cfb87f9bc1df40104f4263aa795d2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-0.log.gz", + "bytes": 311, + "sha256": "d8a8039d5a5c7b1a2d183a3ef20cb608bf40f932398b08354a21809832959411" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-validation.json", + "bytes": 1183, + "sha256": "37fa16da33fbbf8b46b1d96c79aa59a394056d1ab0a1e52089e4d66c522bae44" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-roots.json", + "bytes": 1891, + "sha256": "9db8dc0156c86207cb2f0960265750b7c7837a38acef100f07389bb8f40f5640" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-workers-provenance.json", + "bytes": 2090, + "sha256": "53937e6495af870f7c38e29677c54559574630cd9cdeeaed72698b259d4fbd83" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fixture-validation.json", + "bytes": 40626, + "sha256": "d9948f0e8a8b21bf1ea270e96411dfdcde4624eab9d2aa4825a126544b1e2e14" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction-compile.log.gz", + "bytes": 341, + "sha256": "cb8b40b0ee9e1ee2757685074c365bbf221a0a0d6b771a4939659ebe83635b4b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.json", + "bytes": 1423, + "sha256": "22e0eab1b68df592e51f849c165ece97212f7f67df2790e2f2532b969af25ec8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stdout.gz", + "bytes": 68, + "sha256": "e0b6ad5833f94aec1550856db43d1e43111f10f487e7978a0d4876712736b2dc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stderr.gz", + "bytes": 95, + "sha256": "538f52363f5df9bab8a1af9d08863ec7c8a8e49ac18af1e08b79b5bdbfb82bc2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stdout.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-compile.log.gz", + "bytes": 342, + "sha256": "0b36fb0a930fadc80a168d6c5dd765df9a339aeabfb6d383a46895d70dce1086" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stdout.gz", + "bytes": 43, + "sha256": "17b65d5cbd81112956c97eb2be5bb02374d67ece05d00948e83262a13d41ab5b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stderr.gz", + "bytes": 95, + "sha256": "538f52363f5df9bab8a1af9d08863ec7c8a8e49ac18af1e08b79b5bdbfb82bc2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stdout.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz", + "bytes": 111467, + "sha256": "0e32e798a1947207f7cc3a1e50293d548f08b1feb7bcea0e5307ec29762a3cba" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/compile.log.gz", + "bytes": 508, + "sha256": "95d62f815135b6a6e02900908cf83e14755d80f3b0cfa30e21db1c80a1dc7cb2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker-0.ll.gz", + "bytes": 151519, + "sha256": "456345e1cc3607644e27e48b1a053cafd2e6fa259e689aac26f0bb20045dc83a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-check.log.gz", + "bytes": 227, + "sha256": "8b145df556707a1bf8b028dc93bcbb8c3497bdd8f64d38af6060764cbdfbb9c9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz", + "bytes": 38929, + "sha256": "0fd997aa7b85ef97675b581f266742c35e0017559e51174eefb399f95d61500c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/compile.log.gz", + "bytes": 509, + "sha256": "ee3aea4786afe003e32cf8befaa24dc248a9d0f11ceac7f3da6e81b8cbc0d69c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only-0.ll.gz", + "bytes": 43589, + "sha256": "17bfd3f1fc90170db23745b4a22ee1797a0167d3c91ae96bcfb69742c0f60caa" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/check-0.log.gz", + "bytes": 1470, + "sha256": "0e47c5b4ebab603b6b0fa010ff43b8529f31d45a9e4782df4f6e8f783ea6e078" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz", + "bytes": 88859, + "sha256": "56d9aacc6e391ee20776742b226e17c5763584ae855894cc35a7f2260311cadf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/compile.log.gz", + "bytes": 510, + "sha256": "4e9ea764594382a9c9708f2d7249563d6e4582624da3560a7cdde3ddab98d1f2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker-0.ll.gz", + "bytes": 111152, + "sha256": "b4798f6faefe08279ac9f8c4c3928ad924d43571a8e62868ef6263c938bcecb5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/ordinary-workers-check.log.gz", + "bytes": 233, + "sha256": "c589c84b68b0afa30aa8e9fd636ea3af47d2f52939aec667071d3ae649c9c96f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz", + "bytes": 96462, + "sha256": "d9c1cc690a687029889b972d20f9a60b8f72afb713abeb410a34b25288554961" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/compile.log.gz", + "bytes": 510, + "sha256": "3fca149f912d290022daf3b6deb49466ec922decc8d323ce36d29285040bff3c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry-0.ll.gz", + "bytes": 140675, + "sha256": "02d21cecf2b948552e6e4e0c0aabcdc05383a22fe06862557f9dcabd748d8669" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz", + "bytes": 243792, + "sha256": "f51d727e4632e2910512ac7c8e5455794520ca795921f49324afb32c031255f4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/compile.log.gz", + "bytes": 518, + "sha256": "03a8fd18e077e5f89c5aeca390ad226837dd274d5406fd5ee45befa8c54aec20" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction-0.ll.gz", + "bytes": 324665, + "sha256": "e4966e444a9e1a8d4c2cf6a764e26dfcfc277a4b844162a060cc8bc321c3eab3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz", + "bytes": 415378, + "sha256": "42383ba65e228bae5fe50aead0753ce49b05cd4029cdbf787b1661779b08358f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/compile.log.gz", + "bytes": 513, + "sha256": "33686ae180deef2ad9ec0c692daedb6a7f53259f26f6ef3d636a614eb80810df" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads-0.ll.gz", + "bytes": 736363, + "sha256": "1c21835a96bf4c080db4cf86d09f76dc7e9163c13bcc26b92b45a8df9013176c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz", + "bytes": 295256, + "sha256": "73e4e7465e544e226c612088cfc1388be8d67c2e9be9110b047302db70798f15" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/compile.log.gz", + "bytes": 516, + "sha256": "1f0a613b646d4657bfc53766eeee6370b01d833b57f7b7aa2209d4b6f0cc8056" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length-0.ll.gz", + "bytes": 428100, + "sha256": "fa0764554f2473e8a1790658bf58c021b6e6d4c4d83076d16215f4700c80d41a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz", + "bytes": 74296, + "sha256": "192bc15d58639a9043a348002188c069052f373404dc092c087e551406589653" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/compile.log.gz", + "bytes": 516, + "sha256": "e714c037c8d6c29589b6f60042f3c97435ecfa41e624709d4a8d47386290e6c9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture-0.ll.gz", + "bytes": 98703, + "sha256": "313a4192146bed4ecdb98005434c08d1dee2b66be123f40fa999e6d69171b05c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz", + "bytes": 132048, + "sha256": "04a4fb68bebfd91186d66565f7b54a54fc972ae504af8f0055a54b570936bd01" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/compile.log.gz", + "bytes": 503, + "sha256": "70774b7457ea73450062901f1780b6581b1654cdbbe3448e5880781cc9e9b253" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker-0.ll.gz", + "bytes": 167754, + "sha256": "f7bb3b534541a788c78fcb91d60cb076f09152b6b0cf14c170b9f8100a1c014e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz", + "bytes": 105685, + "sha256": "9ef4d9d8a588c5fe1249f5ded7b268625e273c6fe24616b232effb86938f27d8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker/compile.log.gz", + "bytes": 513, + "sha256": "4a05b19cc8c3a3ab812859c7fb74fa491cc3c2787e3c1763d905c778b8bcf14d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker-0.ll.gz", + "bytes": 105685, + "sha256": "9ef4d9d8a588c5fe1249f5ded7b268625e273c6fe24616b232effb86938f27d8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz", + "bytes": 36676, + "sha256": "ebfa2ca64fb980628a3aad4c7cd08ec32ccc83db8c96cde5c10a2dbac25975ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only/compile.log.gz", + "bytes": 512, + "sha256": "37d250e371407b0a9f1ce1911ca8572578e2ec6bef0f77176b7ba193b4fa6ef8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only-0.ll.gz", + "bytes": 36676, + "sha256": "ebfa2ca64fb980628a3aad4c7cd08ec32ccc83db8c96cde5c10a2dbac25975ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-0.log.gz", + "bytes": 118, + "sha256": "d19a70286fc17ebf69ff80e0dfa9d966178d3c780bc02106c78d141f35edc22f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-1.log.gz", + "bytes": 155, + "sha256": "ed7dbbb560283161fcf78365d7c17e1605412dabdf368e462d2f886b55d1ad46" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz", + "bytes": 82608, + "sha256": "5d1c522b35b9cd6608e64d141c862e8c7da1b044954e7edb3adc5bc6e7cfa69c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker/compile.log.gz", + "bytes": 512, + "sha256": "d5519a3223176ef893e707ff3fe82141ad9fffdbdb944c485e76c77d46c1ab94" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/options-worker-0.ll.gz", + "bytes": 82608, + "sha256": "5d1c522b35b9cd6608e64d141c862e8c7da1b044954e7edb3adc5bc6e7cfa69c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz", + "bytes": 81768, + "sha256": "10f71dabe8dd9ade3f4cfac31ebd54bf28b0a82de038b733e0b019292d773a2a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry/compile.log.gz", + "bytes": 512, + "sha256": "c690b8e7c4277b95bd5dec3209c80077b35d1afd91e4c99bf7d7a8d6f57c02b9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/prior-entry-0.ll.gz", + "bytes": 81768, + "sha256": "10f71dabe8dd9ade3f4cfac31ebd54bf28b0a82de038b733e0b019292d773a2a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz", + "bytes": 228463, + "sha256": "ba7a5e577f3ced19efe20bc9102a0f27d45892572e1a843e0a74419690746035" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/compile.log.gz", + "bytes": 520, + "sha256": "8e6afbb9463081e7dc76399de2211a3f70d8bcc192a4b106109dcf34c0e6881c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction-0.ll.gz", + "bytes": 228463, + "sha256": "ba7a5e577f3ced19efe20bc9102a0f27d45892572e1a843e0a74419690746035" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz", + "bytes": 398291, + "sha256": "a8d83b0aed78d1013cfb85b484a25fd119c6a7775ff99d170ce9648ff9a3b74a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads/compile.log.gz", + "bytes": 519, + "sha256": "f33abeb9e662f0202255da54496345ed30de0ed48048b3bff867a7a0a8e7bb7e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_reads-0.ll.gz", + "bytes": 398291, + "sha256": "a8d83b0aed78d1013cfb85b484a25fd119c6a7775ff99d170ce9648ff9a3b74a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz", + "bytes": 263134, + "sha256": "2c8905f3d2979119bcd3cc5f133ab694a2df62da700ff0408c73a9e39a9eb785" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length/compile.log.gz", + "bytes": 516, + "sha256": "0d644044368a4b828ce761580663cde577e648714ce1072d87a7d087ef0ccc6e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length-0.ll.gz", + "bytes": 263134, + "sha256": "2c8905f3d2979119bcd3cc5f133ab694a2df62da700ff0408c73a9e39a9eb785" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz", + "bytes": 69806, + "sha256": "9221aac8bd0cb7ef4b683ac0b1185dcbea7189d1165dbd06146be375a8e97f8e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/compile.log.gz", + "bytes": 518, + "sha256": "87b72c5af8d0c5c2f269b785c30a467b51f28c6a9bed03a6cfb0ddd3abc68dca" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture-0.ll.gz", + "bytes": 69806, + "sha256": "9221aac8bd0cb7ef4b683ac0b1185dcbea7189d1165dbd06146be375a8e97f8e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz", + "bytes": 122555, + "sha256": "f96f0375d2310b18762219ce029dc2dca3f8123e01dbff4e12b34d281cd97462" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/compile.log.gz", + "bytes": 505, + "sha256": "79f38cf3782bbe97df43c8a067bcdf840170a872a892da8fe900f113410b0924" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker-0.ll.gz", + "bytes": 122555, + "sha256": "f96f0375d2310b18762219ce029dc2dca3f8123e01dbff4e12b34d281cd97462" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stdout.gz", + "bytes": 548, + "sha256": "183217362186a28debd0bf2244e0386238b95447e69cfb245f61f37c6cdeb5f8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stdout.gz", + "bytes": 551, + "sha256": "230ec14ef43128eac23332e18bb64f784860557d9dad247534aa487e39430f60" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-build-0.log.gz", + "bytes": 306, + "sha256": "9d06814e55bd511d82cb191d5fb638a08bc87d7835f99e4dac1bac2c9a630498" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-validation.json", + "bytes": 4044, + "sha256": "df5e27e4d9d2c5c43ca8fde73e8cfb45b23b6eaec4442ece15b7019bc6d10f04" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-packed-index-get.s.gz", + "bytes": 2601, + "sha256": "3df2da5db86f6190b6a5347c76f220f5d43c4a137c25d77866867f6afaa36ef6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-scheduled.stderr.gz", + "bytes": 380503, + "sha256": "9ba02cbe58a81c2611403731eb3b53bf9521155f12e027d6750bb7e0ad8a7a51" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-compile.log.gz", + "bytes": 339, + "sha256": "76a94a2143513beb60e44df6ab176917b1c206390ab59718329be3c3da915f25" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-scheduled.stderr.gz", + "bytes": 377471, + "sha256": "81588a91ad9f04485797b870a3b474fb60e6abd9108a5cbbce7ac1af5fd824c3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-direct-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-scheduled.stderr.gz", + "bytes": 380800, + "sha256": "623a4e7bf33152970ef22d446a9947d7984e918f5b8afea18c95028369ee4dfa" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-tape-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/.perry-trace/llvm/retained_zero_worker_ts.ll.gz", + "bytes": 133406, + "sha256": "b6ace5109f3bebbbe31fb9cfd807617165eb79ab3284e00384c90a865444e3bf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/check-0.log.gz", + "bytes": 232, + "sha256": "e1dacd27fd157838f80caf5b0a2c57d4f8ad6a7fc0bfec56f1c0696ef3062da8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/compile.log.gz", + "bytes": 504, + "sha256": "2c66b35d5a1f3c5f5f55341bc429d0a41ed7db6b76a0c186c08ca34ceb0f66fa" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-native/zero.ll.gz", + "bytes": 169211, + "sha256": "3580f20e048c3c2abf0fd03c61521277ac1fe5ce453574212b2229d0669e1dc3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/.perry-trace/llvm/retained_zero_worker_ts.ll.gz", + "bytes": 123918, + "sha256": "363a5c45a0f8b9f6dbc91e09df90ee9f2958facdb3f8f189c6ab4259f3ceb59d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/check-0.log.gz", + "bytes": 117, + "sha256": "ba3fcf1d82e2389d561669dfb11929f5f4426fdf05f7dbdb57965f7acb291890" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/check-1.log.gz", + "bytes": 153, + "sha256": "9538ed9705a18de1b7c13118556c98f4370afd68df464f875f2e4dfe5ba311d1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/compile.log.gz", + "bytes": 509, + "sha256": "d5c99919ec05a69a6bda68ff844c80bb6893a6744e88f17b91e7f4cf9ac88689" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-ir-shadow/zero.ll.gz", + "bytes": 123918, + "sha256": "363a5c45a0f8b9f6dbc91e09df90ee9f2958facdb3f8f189c6ab4259f3ceb59d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-roots.json", + "bytes": 1891, + "sha256": "c32a06ef66cdb8499121b0309b51f9c873891d128b3bed8107698d0c06fcc39b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-build-0.log.gz", + "bytes": 309, + "sha256": "400ee3b165a73d761b2a944679e5e24ff522b8ced24bd69704470de2b2fd1aa1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-validation.json", + "bytes": 2388, + "sha256": "dea131c62624568cb114acf8017fd78c85bceffe9ff6c7867fbdb5beeff99ee4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-retained-zero-workers-provenance.json", + "bytes": 2066, + "sha256": "470523bc8e1b41caf8c3b809525bdba1ae7526ef3e358e217c531d6cecf13442" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-roots.json", + "bytes": 8668, + "sha256": "225287334be1a0594e1239448403a577bf3c984211ee745eecbd87f61ef1166a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-rotating-worker-build-0.log.gz", + "bytes": 308, + "sha256": "7d66d1f862998a0c6d6496cdcf8362c1fed9c9777219d39046d757f3efde730f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-rotating-worker-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-scheduled.stderr.gz", + "bytes": 231094, + "sha256": "83a8b1686cd445b8b983bb2e64bf134dc61e67cf2098fdd45b5861ba5f1bdfdb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-auto-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-compile.log.gz", + "bytes": 349, + "sha256": "fcb44c1cce5c36880331f79184d5df84694269e5e566eaea0984faaf4b66f8a3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-scheduled.stderr.gz", + "bytes": 205321, + "sha256": "fcf3548d64aebc571b3d0509d5e33106d25d7bd4293187424d58b63068221c29" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-direct-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-scheduled.stderr.gz", + "bytes": 229455, + "sha256": "c85790e0665a86fdb7f017d1efda061dc4e0c8b82f49f55941836fb77c76f805" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_construction-tape-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-scheduled.stderr.gz", + "bytes": 535703, + "sha256": "6b55e891f3cb5db1ec8b7aee95ab8a80112fcb712809b92ea203aeb5eb0644b8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-auto-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-compile.log.gz", + "bytes": 345, + "sha256": "364619cc2a0e92c2827e6930eb2aedcc9d3b2185f7fd0d8f650294ea36727278" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-scheduled.stderr.gz", + "bytes": 465461, + "sha256": "17a18e4b34f18ce18772c65905835fe909ed3a8b6e083c838beec0ef96bdfbd0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-direct-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-scheduled.stderr.gz", + "bytes": 527081, + "sha256": "3096ef5bfb09d27d206900f5ef334f77b21defef3e3ba8cadda7a838c76021d3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_cached_reads-tape-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-scheduled.stderr.gz", + "bytes": 38791, + "sha256": "03a45e349d2ff55fc90ea0527522d955e0c546b47345130854101bd6491695f7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-auto-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-compile.log.gz", + "bytes": 348, + "sha256": "402dfaea0650698e64813abc278e5997544ba6dea1a0bc65f7c46f56b316a942" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-scheduled.stderr.gz", + "bytes": 39122, + "sha256": "2fce6e9eb2a626434187f8a29c429ccf6585682d6707efd482257756404a063a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-direct-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-scheduled.stderr.gz", + "bytes": 39355, + "sha256": "c1b55e946acf21340bbca5902b7636dc13d7773ed67740faa0c7db5f6f6a0f6b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_source_length-tape-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-scheduled.stderr.gz", + "bytes": 672532, + "sha256": "68d983bff06e7bc4ca84864d6a019402addb9bf1e7658b9221afe8902cf6671f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-auto-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-compile.log.gz", + "bytes": 348, + "sha256": "b40772cec4a61f300ae9578e9628c0bc93e310fffa865f6a74052cedfbc0e369" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-scheduled.stderr.gz", + "bytes": 663449, + "sha256": "3d0dd019bbfa4b475a418e8ba7aedddd690d0c6320168142dc8f7c104fb6bca4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-direct-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-scheduled.stderr.gz", + "bytes": 666125, + "sha256": "f6a94084c2ee7602196c7dc5ae33e6fd9fc0f8e4ce76cdc7ebaabe382e16fcfc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-test_json_template_capture-tape-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-validation.log.gz", + "bytes": 1500, + "sha256": "23e0892c87c28246da05c6022a17d7c1fa38f92704c922ecd948f3f7c4d6573d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-worker-build-0.log.gz", + "bytes": 305, + "sha256": "4d5d97c8e15f7bd9007bb65ff0e4d0a85e07614759b929e07667ede731d3b74a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-worker-build-1.log.gz", + "bytes": 453, + "sha256": "cb307aaf4147c58343c2d7aa993a2a3c2dd3a495cf25a5abbf63e6a95ab015a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-workers-provenance.json", + "bytes": 8213, + "sha256": "fcf2dadd14b779fcd60f6158b163dc310aa7d8461ae8546e641fadeddec323f4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-scheduled.stderr.gz", + "bytes": 48284, + "sha256": "b3cfb587eec5a3acb53eb7552a9a1bdeb58b0cd9286ac6561d326068843d1e40" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-auto-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-compile.log.gz", + "bytes": 335, + "sha256": "d5b722c0f15d7e488b8a247f3147ad6732592c57627e3d5940ecd96689af7e36" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-scheduled.stderr.gz", + "bytes": 46197, + "sha256": "43abba1dbed75ac9a62efd722ee63285342b9a8a17cd00dde3d82556fa5c4811" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-direct-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz", + "bytes": 175687, + "sha256": "38bacbb5e71567d9987306ba1b28d83967e1fc5edc1d1fbd3534fe202d5e1ff4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/check-0.log.gz", + "bytes": 232, + "sha256": "86dbf89e0d3677f6b71fe36ea8452971efddd18baa024a3dc670676e75a2d87a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/compile.log.gz", + "bytes": 501, + "sha256": "7e1e7ee765d929c2100cd79bd39b35f9a93a8b5800b2deee69aed633e794c8cb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-native/zero.ll.gz", + "bytes": 240231, + "sha256": "4856c1fc88d600f175253677cb86b494518e29cf1fa7480edabac33c61b52853" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz", + "bytes": 151917, + "sha256": "daf8a77706845499060a3b8dac7b48ff8b8535cb1fdc112a7efaf024480dc30e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/check-0.log.gz", + "bytes": 119, + "sha256": "cee14ccd202819a708991a25c70f2054f462858add40f54840b4e1bb58d81a7b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/check-1.log.gz", + "bytes": 154, + "sha256": "f66ccfe5d82ba516e25419bd304b53bf811f6c656e94f92303d3a87fcb0ab837" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/compile.log.gz", + "bytes": 506, + "sha256": "e12367e73e2e08e88eb00c20f23f895a320b7e96b246a40d27bf588e4fc5457d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-ir-shadow/zero.ll.gz", + "bytes": 151917, + "sha256": "daf8a77706845499060a3b8dac7b48ff8b8535cb1fdc112a7efaf024480dc30e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-roots.json", + "bytes": 1879, + "sha256": "4badc03265552ec5d561d06d6e4e927088d767e57588ac0c47b9c23b5aae48ee" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-scheduled.stderr.gz", + "bytes": 47006, + "sha256": "92706b1f3fc73bc53bb8478e973ad2b001125dee065c8b3569af4d6026a5993c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-tape-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-zero-validation.json", + "bytes": 3061, + "sha256": "b5405f58a56c087f0d24a191262a423e37d54813101071a75e02ef0debd8d341" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-cases.json", + "bytes": 333, + "sha256": "27c6edca6250343f4097d316be2152244ea86a19148e874c78ee0cf503ba4561" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-analysis.json", + "bytes": 8869, + "sha256": "88d2490704dc7dc4c96af2400d76179288177f6ec2afd10441e6ca10630f70b8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-normal.stderr.gz", + "bytes": 672, + "sha256": "4132778c3730a7b6e74a06247d3fde9b804b2a6746ea3b7940733ac0898ab18e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-normal.stdout.gz", + "bytes": 169, + "sha256": "d8ada2ed8c4c49d71be51bc1d7f5be8df5fe35a8d0141a5728f42db0096ef410" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-scheduled.stderr.gz", + "bytes": 5751, + "sha256": "1314567c691fcfb5a39156037e8fa4088d446315e38f33574d198a6221da6944" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-plain-scheduled.stdout.gz", + "bytes": 171, + "sha256": "53856f9ab7069fb1cbadb4ab3939589d6cf2d5145f1ebb491c3dd20aa858e409" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-normal.stderr.gz", + "bytes": 671, + "sha256": "0ca3818a00ef6cf70d3944c8f82b471f786923d328f18b6a14bc65408d5df0f5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-normal.stdout.gz", + "bytes": 168, + "sha256": "326db99fc9b1885e4ec08003dc47066fd79965ef5df1f25ad975b4d4a34f20cd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-scheduled.stderr.gz", + "bytes": 5758, + "sha256": "23e3a5b5aa3963b2e986c3a042cb45aa192e0da5c21f30caa46170aa76664eec" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-candidate-small_record-changing-zero-scheduled.stdout.gz", + "bytes": 174, + "sha256": "6dd901733d8d90d9b1a3300de6b3426603c0c7d648f7d2b44b4161d3ad4e38d7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-normal.stderr.gz", + "bytes": 671, + "sha256": "505cb0adab1024fa2fe131847845750fd29615e6737a5acc2d83070887825b47" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-normal.stdout.gz", + "bytes": 169, + "sha256": "2d1edc0579eeed31305650ee538128f3e721cf9bafdf3c9e8ec5f82126f1bdfd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-scheduled.stderr.gz", + "bytes": 5782, + "sha256": "f7c502e109b92c319b7f21284d91c32e0b81387ea8729b58b6f67c367a1e90b9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-plain-scheduled.stdout.gz", + "bytes": 174, + "sha256": "58e098b0718001c349ccb5e9a40524b265c4f145cd1f2f6fc6aff88c4117a72e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-normal.stderr.gz", + "bytes": 671, + "sha256": "11dcee6d3cd23d41b3d5e6631f9ce9ea2de7f76f81f5f9d52a425228e4d6186f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-normal.stdout.gz", + "bytes": 169, + "sha256": "af62fbe9ad754cf8f8080b43e7e6dd8c0d6ce154e63765d3c39f76755f8f5966" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-scheduled.stderr.gz", + "bytes": 5762, + "sha256": "e9a9e485e72a836988e2a8dd39468ac5f4ddb8345026fc7d27341ccd7b6613b1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-main-small_record-changing-zero-scheduled.stdout.gz", + "bytes": 173, + "sha256": "83fcf3fc628bcac3a640dc5994cb9c49eb12a57959de052cf942adf6283937d5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-worker.js", + "bytes": 1466, + "sha256": "c093c22b6cf607d16dce76b3b2864bdd0dd62afdd9c2db100ed1b82a44fa0b00" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/changing-options-worker.ts", + "bytes": 1466, + "sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/check-changing-roots.py", + "bytes": 2570, + "sha256": "5eba6d1cf8795ba52dadc0c1eed89af38ac5351f57298212101f7816f75ac981" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/check-retained-roots.py", + "bytes": 2567, + "sha256": "0801ffa589fa234ed335286946ed6f9d1dddc8fdd952e75dba53284d949e4d38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/check-roots.py", + "bytes": 3699, + "sha256": "505ffb042285229f810f5383efd6ca417c62a319c0c904a5f209b8e0bddcae21" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/check-zero-roots.py", + "bytes": 2561, + "sha256": "900584fb2bc94488f00438152f8d9b72f67c7272b59320fbc1eccf993360549e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/compare-json-entry-disassembly.py", + "bytes": 1482, + "sha256": "83f2ec9478d222d8adc027e38819b5cdc919d575dbee471925171f02f903cd01" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/compare-roots.py", + "bytes": 1694, + "sha256": "87500a5860178415e50257b5afdb93f3a3d3733c639ecbd92e3e764c68b9ebe7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/file-cap.log.gz", + "bytes": 64, + "sha256": "e7190563dd8303960d1f19c555f05849d2ef6f6c4c47e07636cbc78626becd01" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/fixture-hashes.json", + "bytes": 2030, + "sha256": "212a0a1f734935eda97ea271b7eaa3ce1fe341875dc66ebdfba6f187793a7b06" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/format-preparation.json", + "bytes": 438, + "sha256": "28c1d0060deb0ff70ef8f81228b930bc7a91b571543c76f824c6684cf92c768f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/fraction-baseline.json", + "bytes": 1980, + "sha256": "41475efabdbe458358432bdba58a7015a523a7e37dc760dc631d8f183a18dd7f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/full-analysis.json", + "bytes": 202226, + "sha256": "f5b2fcea1eb11cbdb9bd47ec760b4af6f029470e3a63f481202a8cde22fbc55c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/full-cases-reuse.json", + "bytes": 367, + "sha256": "000cc2b037544b2c6d8fc1155d480e78ce8354134a7c43ec5d51c3c282a46871" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/full-cases.json", + "bytes": 7819, + "sha256": "8728ac72d0fc35a0cf9b9131392b2ffbaa3fc47b38666e2bf0908d33efe6999c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/full-controller-initial-failure.json", + "bytes": 544, + "sha256": "c5b3d4e2819c334bd942c3e48217fc7fde87dc47132fa027008465ef188f59e0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/getter-baseline-comparison.json", + "bytes": 6233, + "sha256": "99ff8b289f95d4bc3cbbde7e763677d33645c4c438dfcf817b3f55cab84d405c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/getter-baseline-r24-original.json", + "bytes": 6245, + "sha256": "6139e4c41d81b12991d8b77a4a02d7684f8645189072efb15fa62697871d443a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/getter-probe-node.stdout.gz", + "bytes": 43, + "sha256": "17b65d5cbd81112956c97eb2be5bb02374d67ece05d00948e83262a13d41ab5b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/access-worker.js", + "bytes": 1511, + "sha256": "bfe066c9d1065102d7b0ec9f7b2909d2faae8935b104709865308422d8489957" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/access-worker.ts", + "bytes": 1537, + "sha256": "dba0240ef6441a07657e664354982a04045c036e53f65c1d06df62d55c73be67" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/rotating-worker.js", + "bytes": 2209, + "sha256": "f163f68f3d4c1d13720403ffb96d0afe4306ec0723f2015d3a66ab0c77fa56c8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/rotating-worker.ts", + "bytes": 2180, + "sha256": "7541897acb2c7c35c0f5e762f8b2f28b9783feb26a42db107c1c4eb3af644b24" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_access.py", + "bytes": 4445, + "sha256": "da1a80e558d57462574397776702ac47a1a623de6e73255cc04e46746f5b5b67" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_dispatch_focus.py", + "bytes": 6473, + "sha256": "100ba3e1bd5c0cd451d1a3528f95b5f4b8d0ff2f4771796ab8598b36a46fbcc4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/run_regression_focus.py", + "bytes": 6463, + "sha256": "0607798d0b675af6c99977f6a821e29af69d6fdbdf16e6144d50a40d096c7270" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/with_lock.py", + "bytes": 2582, + "sha256": "443df89997be22f22f16b475d76c45ea2b560ab9550e4e6c028777e1e3b74b49" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/worker.js", + "bytes": 3348, + "sha256": "55c11d12296f896212d6abd76bcf8d551d0590b0ad24b262018b7a707369a2f4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/harness/worker.ts", + "bytes": 3335, + "sha256": "f3c42ec9f04fdb9ba84dc3cf50dc59f18685540033807f3db3a7f75c08a85d39" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/index-artifacts.py", + "bytes": 2683, + "sha256": "b667b5c436c6351140fcefc5dc20a9d807b899717b9cb3ddd39cc3e8c02dcdcc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/file-cap.log.gz", + "bytes": 64, + "sha256": "e7190563dd8303960d1f19c555f05849d2ef6f6c4c47e07636cbc78626becd01" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/lint-results.json", + "bytes": 428, + "sha256": "08b3097061c2f1b669f342d66ecfcde4901aaae9ea6544f784707a538b4c7166" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/repair.json", + "bytes": 439, + "sha256": "db34d379b3e8e2e69d4568b52d74922d09fac3124e5995e076df5e790371dbeb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/replacer.rs", + "bytes": 88100, + "sha256": "c762be408303f10bc2ec9dfa2d9687892fad7760a105fc33ab53ad2f6c06da23" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/script-lint.log.gz", + "bytes": 2149, + "sha256": "24deb744d8070973a829b7ee7781d46b97d3e95cb40c92c714147423aa6fdbcf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/stringify_record_output_tests.rs", + "bytes": 18035, + "sha256": "24a3c1fe51285944ffcac009af9b892ecd5940cd3030340b24d49ea513b19c6d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/unit-source.json", + "bytes": 633, + "sha256": "194f313a3ca74c34544eb646258b771a5e269291cfe121fa7ec3d15883ad2948" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/initial-validation/unit.log.gz", + "bytes": 6857, + "sha256": "76f2a25979a83528dca008df76fcc3e800c485968e7ad11a04f9bd73ad5ed40b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/inspect-disassembly.py", + "bytes": 1504, + "sha256": "955bc47675072c38fc35370dd68b7fa39eeeefde1d94661e4546dc3eda1533e1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/json-entry-disassembly.json", + "bytes": 137788, + "sha256": "044159e803aef7f8679bd95f8ace142fba73b9aecce629be20a32bea03be5785" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/large-cases.json", + "bytes": 602, + "sha256": "6d5b97411f8f2dd1197e807c857338103d3741a80ef4c9d2ba12399303207179" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/large-options-analysis.json", + "bytes": 17034, + "sha256": "01f815cd4eb8999d83a585e9638a1c845f55f1507b5d44666508b25e66e706d1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/large-recheck-cases.json", + "bytes": 165, + "sha256": "0b4f7bb92a37fffa61bbec95dd19da5e1407a4c724f70610839c46cb603adf11" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/large-recheck-options-analysis.json", + "bytes": 6099, + "sha256": "2b090ff3d5b3cbd564cfa3ce4a93e2b0ce5dd0883766826861061e7a4d1076fe" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-plain.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-canonical-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-plain.stdout.gz", + "bytes": 548, + "sha256": "183217362186a28debd0bf2244e0386238b95447e69cfb245f61f37c6cdeb5f8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-duplicate-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-plain.stdout.gz", + "bytes": 551, + "sha256": "230ec14ef43128eac23332e18bb64f784860557d9dad247534aa487e39430f60" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-180-whitespace-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-canonical-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-duplicate-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-2-whitespace-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-candidate-probes.json", + "bytes": 4922, + "sha256": "60ef38ced80e18fc721d4b6272015c6e039c8f55dd1be1297ab4f255d2e780a7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-main-probes.json", + "bytes": 4962, + "sha256": "ad494b525837ab7ba2032d88aa4f53b24d36cd6cf1cec2eb9fd394c42c843cfc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lazy-probe-candidate-compile.log.gz", + "bytes": 342, + "sha256": "622bde286eda70397bb9ebbe78e398945ecefa1153d10d46303c65b933a8299a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/lint-results.json", + "bytes": 428, + "sha256": "006ebb82c2ccc9ca6df334b6994463b1b4f0e8ac75806c714194087c5c3f061a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-11cached_read8lazy_get.s.gz", + "bytes": 795, + "sha256": "15d192b11fb52d529084f3e9d5e393def3b8671ee524d5c5cfacc1e242479d66" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-15lazy_get_rooted.s.gz", + "bytes": 3259, + "sha256": "8d569eff6c76a10ff968929955428c71940a66911cb192933306842c76085eff" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-8mutation26resolve_materialized_array.s.gz", + "bytes": 3227, + "sha256": "b16349290207ab3777c2eb28c43ecc84a14689bfa9982bfd31994fae481c9178" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-access-worker-build-0.log.gz", + "bytes": 309, + "sha256": "9c43857c546e48abb5ad4d222957c7a631a1030e43832e69ae8ec3a03db68fb3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-access-worker-build-1.log.gz", + "bytes": 459, + "sha256": "ef61bc5053bb8a74aa74b7504bd6c4582c843d7dcce5f00c71ecdb4292c9c416" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-array-get.s.gz", + "bytes": 6063, + "sha256": "209b4034faa0b8d3da562e491f22b93280428192b9f7d28c516fe1e90ba3bccc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-build-provenance.json", + "bytes": 1010, + "sha256": "d945f4af026d5310d75fc2521b8af43f896b1b891937a4a8f72356ab5db59efc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-auto-scheduled.stderr.gz", + "bytes": 9549, + "sha256": "3d704defddc45a85c90f5c14762a9bc00cc5d66d7fc9c223b6242f6c39322af2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-auto-scheduled.stdout.gz", + "bytes": 57, + "sha256": "cbc3e9a036df44bd30b481ce8220c1156d618142dc6658d8b7fcb9e067721877" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-callback-only-compile.log.gz", + "bytes": 343, + "sha256": "6d55a696cfb3c5a71578f4c72fe3cb200df9aa3da7ce09322a68039af7c2015d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz", + "bytes": 65792, + "sha256": "1040e67e889e5648c5ac1cb72bd55939b0565a7cbf97f3f19e75456b3934f08d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/check-0.log.gz", + "bytes": 683, + "sha256": "114e4f01a81a89cf7a1a588730b4ccc6eae3e49b38eef891bc12c55432e76bd0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/compile.log.gz", + "bytes": 500, + "sha256": "2b926f1c95d862127479791f2a1bfb197dc14bb0fb855f175866ad25735fac6c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-native/zero.ll.gz", + "bytes": 81780, + "sha256": "6c0a0739cded610c865b4a33de798d974cbd8825dfbde5ce44eecc1799b47cf1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/.perry-trace/llvm/changing_options_worker_ts.ll.gz", + "bytes": 62049, + "sha256": "4291f73dad619b919f6419b231eb38241e6cfb87f9bc1df40104f4263aa795d2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/check-0.log.gz", + "bytes": 117, + "sha256": "fd59ff6c5a9dce3389c65282d15d8b6d3591b298dd856bb32852f0718ac4fda9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/check-1.log.gz", + "bytes": 153, + "sha256": "b3c5d5abdc8983e6e0ba06886304ce7fc03b8dd496118bfda338c18a0835a364" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/compile.log.gz", + "bytes": 504, + "sha256": "5cc99e4d6316141fd798647fa0b0c1f11e5b56f2981d369c317e4690d1e3c815" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-ir-shadow/zero.ll.gz", + "bytes": 62049, + "sha256": "4291f73dad619b919f6419b231eb38241e6cfb87f9bc1df40104f4263aa795d2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-build-0.log.gz", + "bytes": 308, + "sha256": "d66c47dfc8b25a7d5ec431a96e298ffea7cef336f809f25da18d5ca0122e62fe" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-build-1.log.gz", + "bytes": 453, + "sha256": "a915d94c4cf46dac04529466e8a211f3cfef8b42d5669963ba5707fa20e0ee66" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-options-validation.json", + "bytes": 1163, + "sha256": "cc64a57d3c2ef3fc5e780b3e13fbd1f2f97930bbc93f04d5663ac79d9ac3cd07" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-roots.json", + "bytes": 1876, + "sha256": "b1b5ac1959bb26c7337b9c80530ac712e6d227ed950b243bb2b417f30cb138bf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-changing-workers-provenance.json", + "bytes": 2060, + "sha256": "3906171fe0ddfe13ddb9412e08dd7cbd9135fad9f74e6ac5b4afc37c7dc784c9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-fixture-validation.json", + "bytes": 41362, + "sha256": "15d27202eab45ef35adc05a6c0554d979b98250bced674d326e5e0f152708ad2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction-compile.log.gz", + "bytes": 346, + "sha256": "48d53b74af608839dc888d16634bd7af308a03e2d02c8bcc84a43b830b0f6ea1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.json", + "bytes": 1471, + "sha256": "5d5e90e12de8ab0e61319d486f465961a1e9391d4068aa069ab816be670c9b5b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-fraction.stdout.gz", + "bytes": 68, + "sha256": "e0b6ad5833f94aec1550856db43d1e43111f10f487e7978a0d4876712736b2dc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-auto.stderr.gz", + "bytes": 95, + "sha256": "538f52363f5df9bab8a1af9d08863ec7c8a8e49ac18af1e08b79b5bdbfb82bc2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-auto.stdout.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-compile.log.gz", + "bytes": 345, + "sha256": "d9085a61be825c8eed91ba358ef1c60c8979929207cae602c7fbd99d7838e766" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-direct.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-direct.stdout.gz", + "bytes": 43, + "sha256": "17b65d5cbd81112956c97eb2be5bb02374d67ece05d00948e83262a13d41ab5b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-tape.stderr.gz", + "bytes": 95, + "sha256": "538f52363f5df9bab8a1af9d08863ec7c8a8e49ac18af1e08b79b5bdbfb82bc2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-getter-probe-tape.stdout.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz", + "bytes": 111467, + "sha256": "0e32e798a1947207f7cc3a1e50293d548f08b1feb7bcea0e5307ec29762a3cba" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/compile.log.gz", + "bytes": 510, + "sha256": "c204fae779e6779623206bb4c0e57ab6b1f2ab8f96f9f62df0feb7045b04d2fd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/access-worker-0.ll.gz", + "bytes": 151520, + "sha256": "a21eba6405bf9cdfa0c401ed0f930761dba213b5925257373592a3734ed9e058" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-check.log.gz", + "bytes": 227, + "sha256": "8b145df556707a1bf8b028dc93bcbb8c3497bdd8f64d38af6060764cbdfbb9c9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz", + "bytes": 38929, + "sha256": "0fd997aa7b85ef97675b581f266742c35e0017559e51174eefb399f95d61500c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/compile.log.gz", + "bytes": 510, + "sha256": "ce52f0238c482aed981a98073bcb6f7891158d136f39b0c12a6f2ca7db87c0e6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/callback-only-0.ll.gz", + "bytes": 43591, + "sha256": "9d1aa4f5a836a8913ac1ffa43f94befd11ca56886d6e844c97e54b51719af831" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/check-0.log.gz", + "bytes": 1470, + "sha256": "0e47c5b4ebab603b6b0fa010ff43b8529f31d45a9e4782df4f6e8f783ea6e078" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz", + "bytes": 88859, + "sha256": "56d9aacc6e391ee20776742b226e17c5763584ae855894cc35a7f2260311cadf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/compile.log.gz", + "bytes": 510, + "sha256": "a7e9efbb58f0cf30bd8a7603fb4a95f253f61470f7a0803b82dffcdc8c70e479" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/options-worker-0.ll.gz", + "bytes": 111151, + "sha256": "a37e63b2acd2b9952a5ed64d319cdf71bf5f4faac00a824fac9e59e2b10164d5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/ordinary-workers-check.log.gz", + "bytes": 233, + "sha256": "c589c84b68b0afa30aa8e9fd636ea3af47d2f52939aec667071d3ae649c9c96f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz", + "bytes": 96462, + "sha256": "d9c1cc690a687029889b972d20f9a60b8f72afb713abeb410a34b25288554961" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/compile.log.gz", + "bytes": 511, + "sha256": "3d2516a87acbb8c228f2dc804bd997a6f351d0595ce663fef85b5781f9264eb7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/prior-entry-0.ll.gz", + "bytes": 140675, + "sha256": "84d495d4c82464ef3c05e90a0a01e6eb071cc6320c9567e1231393c1e8836a24" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz", + "bytes": 243792, + "sha256": "f51d727e4632e2910512ac7c8e5455794520ca795921f49324afb32c031255f4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/compile.log.gz", + "bytes": 520, + "sha256": "30e61a407b6be5aa774310f0e85a6e93191c3d2bd2ec0460a8848e3bf9534312" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_construction-0.ll.gz", + "bytes": 324662, + "sha256": "b64b88ca23553d5ce5f169b037e58859d20ad8d02412ec68c005c31954e97b30" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz", + "bytes": 415378, + "sha256": "42383ba65e228bae5fe50aead0753ce49b05cd4029cdbf787b1661779b08358f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/compile.log.gz", + "bytes": 514, + "sha256": "89486bf34ba531a54869b57dbb84fc50766f1ca508cce13a858d64f70dd990dc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_cached_reads-0.ll.gz", + "bytes": 736361, + "sha256": "975b0eb53d873225a77b3694735292fdbde881c7e0376cacba013c0be2dd5c27" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz", + "bytes": 295256, + "sha256": "73e4e7465e544e226c612088cfc1388be8d67c2e9be9110b047302db70798f15" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/compile.log.gz", + "bytes": 518, + "sha256": "846938b813dcc75750dbdaa99b4f11213544b73ceb68c2fe4d81ffeff32767bd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_source_length-0.ll.gz", + "bytes": 428102, + "sha256": "483b04cfe5258e97b296a9ae58e40b9de63e84dc7547fedb2e80181d6f9a0610" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz", + "bytes": 74296, + "sha256": "192bc15d58639a9043a348002188c069052f373404dc092c087e551406589653" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/compile.log.gz", + "bytes": 518, + "sha256": "83fe680285b5174c6101765db6882aeb957d0074293fdd65c517c26c5ec4ccd9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/test_json_template_capture-0.ll.gz", + "bytes": 98701, + "sha256": "4c4e90d6c419c06e1db1fc621f546470be939a2019479cb20a53822195331777" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz", + "bytes": 132048, + "sha256": "04a4fb68bebfd91186d66565f7b54a54fc972ae504af8f0055a54b570936bd01" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/compile.log.gz", + "bytes": 505, + "sha256": "89dc439cda243235cec999cf3a4a87d1df0304e47544d4f1d6702f0e27657953" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker/rewrite-0.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-native/worker-0.ll.gz", + "bytes": 167754, + "sha256": "de838834e680e435a35b922cf67e3ebe7c04ccef51c2f21ae9a0804f208862c0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker/.perry-trace/llvm/access_worker_ts.ll.gz", + "bytes": 105685, + "sha256": "9ef4d9d8a588c5fe1249f5ded7b268625e273c6fe24616b232effb86938f27d8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker/compile.log.gz", + "bytes": 515, + "sha256": "6aa3028e7cd5925e67abe52836fbd48303f80dce8f7ad3ec7f8ae8710ba06de4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/access-worker-0.ll.gz", + "bytes": 105685, + "sha256": "9ef4d9d8a588c5fe1249f5ded7b268625e273c6fe24616b232effb86938f27d8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz", + "bytes": 36676, + "sha256": "ebfa2ca64fb980628a3aad4c7cd08ec32ccc83db8c96cde5c10a2dbac25975ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only/compile.log.gz", + "bytes": 516, + "sha256": "948cac72f18b4a7b5e6f986b9beecdeb8aa790d885c26942797aa54f2cf04210" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/callback-only-0.ll.gz", + "bytes": 36676, + "sha256": "ebfa2ca64fb980628a3aad4c7cd08ec32ccc83db8c96cde5c10a2dbac25975ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/check-0.log.gz", + "bytes": 118, + "sha256": "d19a70286fc17ebf69ff80e0dfa9d966178d3c780bc02106c78d141f35edc22f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/check-1.log.gz", + "bytes": 155, + "sha256": "ed7dbbb560283161fcf78365d7c17e1605412dabdf368e462d2f886b55d1ad46" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz", + "bytes": 82608, + "sha256": "5d1c522b35b9cd6608e64d141c862e8c7da1b044954e7edb3adc5bc6e7cfa69c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker/compile.log.gz", + "bytes": 514, + "sha256": "849bc60b0f9445fa15effa829b611fc39146fb721d2fd532a1a66fbc08f2e604" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/options-worker-0.ll.gz", + "bytes": 82608, + "sha256": "5d1c522b35b9cd6608e64d141c862e8c7da1b044954e7edb3adc5bc6e7cfa69c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry/.perry-trace/llvm/prior_entry_ts.ll.gz", + "bytes": 81768, + "sha256": "10f71dabe8dd9ade3f4cfac31ebd54bf28b0a82de038b733e0b019292d773a2a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry/compile.log.gz", + "bytes": 515, + "sha256": "75c350d3bfefe4d9e67cdb2874993846de2937500d1a55d17384d6f3a71aba74" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/prior-entry-0.ll.gz", + "bytes": 81768, + "sha256": "10f71dabe8dd9ade3f4cfac31ebd54bf28b0a82de038b733e0b019292d773a2a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz", + "bytes": 228463, + "sha256": "ba7a5e577f3ced19efe20bc9102a0f27d45892572e1a843e0a74419690746035" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction/compile.log.gz", + "bytes": 522, + "sha256": "ee9d96eda1a15fb2ce176567b03a490f2f04c71a548692a7ec8504282a4d41c4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_construction-0.ll.gz", + "bytes": 228463, + "sha256": "ba7a5e577f3ced19efe20bc9102a0f27d45892572e1a843e0a74419690746035" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz", + "bytes": 398291, + "sha256": "a8d83b0aed78d1013cfb85b484a25fd119c6a7775ff99d170ce9648ff9a3b74a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads/compile.log.gz", + "bytes": 519, + "sha256": "985164a33e5cc880025d58b8b875166e55ca9279e2a099660a229a5e4197daee" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_cached_reads-0.ll.gz", + "bytes": 398291, + "sha256": "a8d83b0aed78d1013cfb85b484a25fd119c6a7775ff99d170ce9648ff9a3b74a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz", + "bytes": 263134, + "sha256": "2c8905f3d2979119bcd3cc5f133ab694a2df62da700ff0408c73a9e39a9eb785" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length/compile.log.gz", + "bytes": 520, + "sha256": "275e22f1ae7f956eaf1fc66a1ec58bee3b429a37798535890f43b990b8951bf1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_source_length-0.ll.gz", + "bytes": 263134, + "sha256": "2c8905f3d2979119bcd3cc5f133ab694a2df62da700ff0408c73a9e39a9eb785" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz", + "bytes": 69806, + "sha256": "9221aac8bd0cb7ef4b683ac0b1185dcbea7189d1165dbd06146be375a8e97f8e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture/compile.log.gz", + "bytes": 521, + "sha256": "57a5ae1b7c696f62609646a4b462e093efa8bb86b9fd0a9786168b6f1728fcd5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/test_json_template_capture-0.ll.gz", + "bytes": 69806, + "sha256": "9221aac8bd0cb7ef4b683ac0b1185dcbea7189d1165dbd06146be375a8e97f8e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz", + "bytes": 122555, + "sha256": "f96f0375d2310b18762219ce029dc2dca3f8123e01dbff4e12b34d281cd97462" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker/compile.log.gz", + "bytes": 509, + "sha256": "b88b9ef6a31041e765b4ce4357dde5c44e22f591623d10772e8a86f6f549b870" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-ir-shadow/worker-0.ll.gz", + "bytes": 122555, + "sha256": "f96f0375d2310b18762219ce029dc2dca3f8123e01dbff4e12b34d281cd97462" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-plain.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-canonical-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-plain.stdout.gz", + "bytes": 548, + "sha256": "183217362186a28debd0bf2244e0386238b95447e69cfb245f61f37c6cdeb5f8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-duplicate-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-plain.stdout.gz", + "bytes": 551, + "sha256": "230ec14ef43128eac23332e18bb64f784860557d9dad247534aa487e39430f60" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty-node.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-pretty.stdout.gz", + "bytes": 582, + "sha256": "b4be63314e182497afbead18bed67820d689f7ccb1442b53fe9eb41b0e956a9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-true.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero-node.stdout.gz", + "bytes": 515, + "sha256": "9fbf4c4c20d2f4ec9dd71959e3b83f85e1a8da6fc9402584f9353d8a2cfdfbdd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-180-whitespace-zero.stdout.gz", + "bytes": 27, + "sha256": "80a8458af0319c966caf339ce9fb86b4e4d565629ce9d3d982f9fe401aea3ac4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-canonical-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-duplicate-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-plain.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty-node.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-pretty.stdout.gz", + "bytes": 97, + "sha256": "d569ea8f42ebe78bffb29c70b0e3e5a45df4eeeadb5f27d928133dd9235786f9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-true.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero-node.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-lazy-2-whitespace-zero.stdout.gz", + "bytes": 79, + "sha256": "b650209426e59eb4fa6af5ff07611a0292846e50dbe27de6dc03271baaeafe41" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-build-0.log.gz", + "bytes": 309, + "sha256": "bdbf7a8dd0cc03134c51fe88d0e95afcc37340d07697028c139f8dd5c1a084b4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-build-1.log.gz", + "bytes": 459, + "sha256": "ef61bc5053bb8a74aa74b7504bd6c4582c843d7dcce5f00c71ecdb4292c9c416" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-options-validation.json", + "bytes": 4044, + "sha256": "b84cc5accdf78251a8489f037cdd86fd7b59df98629b7e99f84067b3da7da94e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-packed-index-get.s.gz", + "bytes": 2612, + "sha256": "134699c6f3b3e459153336b69fb1a2fb8f08735292dfbc4669b530f5870d18b0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-scheduled.stderr.gz", + "bytes": 365922, + "sha256": "71fd7d13df897dda58fd9f5761634e85939733495aae5c2cb50ff7af2a3e0351" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-auto-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-compile.log.gz", + "bytes": 343, + "sha256": "a325811a5ec03c58e7e64269618a34a95825a3b1444bfc9a9d2068936773cf78" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-scheduled.stderr.gz", + "bytes": 361213, + "sha256": "4d6fb81c3ac011484880e84a88fcdc400935eb6168e74140b8299784f1d90d5a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-direct-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-fullgc.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-normal.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-scheduled.stderr.gz", + "bytes": 368614, + "sha256": "9a2078d2007e326d5d352366391a9aa6bfe6c0bc0d201b727ae8f4a177e10619" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-prior-entry-tape-scheduled.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/.perry-trace/llvm/retained_zero_worker_ts.ll.gz", + "bytes": 133406, + "sha256": "b6ace5109f3bebbbe31fb9cfd807617165eb79ab3284e00384c90a865444e3bf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/check-0.log.gz", + "bytes": 232, + "sha256": "e1dacd27fd157838f80caf5b0a2c57d4f8ad6a7fc0bfec56f1c0696ef3062da8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/compile.log.gz", + "bytes": 501, + "sha256": "4e4031fe7409a7357b21ee1ded63c69bff4345304995f58769f46fc7b24fe8af" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-native/zero.ll.gz", + "bytes": 169208, + "sha256": "169ab1297c45a1cfc952a5e4501c87130f1daab1ee08263fff9752ea02a618fd" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/.perry-trace/llvm/retained_zero_worker_ts.ll.gz", + "bytes": 123918, + "sha256": "363a5c45a0f8b9f6dbc91e09df90ee9f2958facdb3f8f189c6ab4259f3ceb59d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/check-0.log.gz", + "bytes": 117, + "sha256": "ba3fcf1d82e2389d561669dfb11929f5f4426fdf05f7dbdb57965f7acb291890" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/check-1.log.gz", + "bytes": 153, + "sha256": "9538ed9705a18de1b7c13118556c98f4370afd68df464f875f2e4dfe5ba311d1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/compile.log.gz", + "bytes": 505, + "sha256": "d240a019d03baa67f7c0928ce81d6ea4e16988713d39d520e47465fccc7c3d5d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-ir-shadow/zero.ll.gz", + "bytes": 123918, + "sha256": "363a5c45a0f8b9f6dbc91e09df90ee9f2958facdb3f8f189c6ab4259f3ceb59d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-roots.json", + "bytes": 1876, + "sha256": "011cf40e65530001aac0d135675b4b2b1bc284ec78f9c200e5d7011071621185" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-build-0.log.gz", + "bytes": 305, + "sha256": "dd85e47687bc36a9b9c2120aec4a8361ceba6b84d6fa8196c01c38532b982382" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-build-1.log.gz", + "bytes": 453, + "sha256": "a915d94c4cf46dac04529466e8a211f3cfef8b42d5669963ba5707fa20e0ee66" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-validation.json", + "bytes": 2348, + "sha256": "3a779058f66ce6c171c16523ef3bc6d6a35619651b7f073a4f3d40d60c628045" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-retained-zero-workers-provenance.json", + "bytes": 2036, + "sha256": "aa1a7d05553091fe0813042e83d98fec050a34239f656320194d45f116f31b26" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-reuse-provenance.json", + "bytes": 141127, + "sha256": "97b0b4054fa54f06c6ba8cc4bece03e20c4a25d196564a26bb42fa7d251992ba" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-roots.json", + "bytes": 8387, + "sha256": "51a9b9df42632025d3275c84b2636654bdd39003bbc32ede0d2f4fedd699be2b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-rotating-worker-build-0.log.gz", + "bytes": 311, + "sha256": "25721ba0fed22e48735e370d4abe4222832daa826146d4db91fd117a8b287132" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-rotating-worker-build-1.log.gz", + "bytes": 459, + "sha256": "ef61bc5053bb8a74aa74b7504bd6c4582c843d7dcce5f00c71ecdb4292c9c416" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-scheduled.stderr.gz", + "bytes": 222541, + "sha256": "389cef84aaa17059d7c68c556af92ad627bf2954d12f5b8b53cc60a44d0edc16" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-auto-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-compile.log.gz", + "bytes": 352, + "sha256": "c463d39da937708c563d8fee808d3644012317b2cd8de836b889b40d447ec35c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-scheduled.stderr.gz", + "bytes": 193781, + "sha256": "ae8501992e347f1317fe6fa1ee2bd446613b004533971ee7782b6fff69e7213f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-direct-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-fullgc.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-normal.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-scheduled.stderr.gz", + "bytes": 224114, + "sha256": "01b51485f266932236fff35703a12a23dee63460d28efbd7de49a4a531205797" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_construction-tape-scheduled.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-scheduled.stderr.gz", + "bytes": 499399, + "sha256": "d4baeaee6fadf0e259151ac70d8241d9795ed769280079a07d72c2d25579ab4f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-auto-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-compile.log.gz", + "bytes": 348, + "sha256": "481317b3f482e1615d8ef15230f1da86400461e1529ba2d9f30372ba4e47395e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-scheduled.stderr.gz", + "bytes": 431340, + "sha256": "bc5084c986b4b53750d30c7735e20d37f1a79cff90f1554ef7cce5a2968d099e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-direct-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-fullgc.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-normal.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-scheduled.stderr.gz", + "bytes": 499620, + "sha256": "1eb67f7eca0b828afec470e82d87ba457afd7b78baad043b4677869278cf74ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_cached_reads-tape-scheduled.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-scheduled.stderr.gz", + "bytes": 37323, + "sha256": "41410970644f5aa0e10689306949093cca732a7c74aa79d33f187c6d34773126" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-auto-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-compile.log.gz", + "bytes": 350, + "sha256": "d8c7743a80b4cef7682178bb8ec63eea2825458cd679dd5f903fecf6904c31d0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-scheduled.stderr.gz", + "bytes": 37027, + "sha256": "74ce7e6a315416118c1a9a77abae049a73523fe39f154a852cfb43da1c35e5d3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-direct-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-fullgc.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-normal.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-scheduled.stderr.gz", + "bytes": 37840, + "sha256": "902aed6ad01ebb808677269ecff7a94752956146c439eb1275757ad27c6b747a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_source_length-tape-scheduled.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-scheduled.stderr.gz", + "bytes": 641297, + "sha256": "3946061da1b9c356ca37c7779a0b6101f4cbe1b788d2f1713118f5314b81eacc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-auto-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-compile.log.gz", + "bytes": 351, + "sha256": "f4d8f04d51e0d93bd7556be1662e8a5bf59b78cedd24a468cc75fef9c0871de8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-scheduled.stderr.gz", + "bytes": 638886, + "sha256": "31fdfabcd92e7b2f30a80226ed419386867d938d0085e04921030759a78399af" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-direct-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-fullgc.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-normal.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-scheduled.stderr.gz", + "bytes": 640917, + "sha256": "a050dcc148c1438c5431d8135cc8385afcffa0c7f2b1f096aff3d15d7d315d9e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-test_json_template_capture-tape-scheduled.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-validation.log.gz", + "bytes": 1314, + "sha256": "1cef33e50c5385644befe6f2a882de7d7207abb60aa99d71cb879a0b6f8d7376" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-worker-build-0.log.gz", + "bytes": 308, + "sha256": "567b17d0648d22e88b4eddf7747172dfed020a0acd584524a5796b2ce14cd1b6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-worker-build-1.log.gz", + "bytes": 459, + "sha256": "ef61bc5053bb8a74aa74b7504bd6c4582c843d7dcce5f00c71ecdb4292c9c416" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-workers-provenance.json", + "bytes": 8533, + "sha256": "2df08c6400b98a8aa3f98bad31ae276fad1c4734a38de3d79ca651ec79dc14dc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-scheduled.stderr.gz", + "bytes": 45876, + "sha256": "62ca490410475073991131e729cbdcd8c88e7393e8ead0d716a7d6a4f54cd413" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-auto-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-compile.log.gz", + "bytes": 332, + "sha256": "31ca73bdab6a992728aa0ef5ac38a9700c5af9b4387329e0e3371df9af289c57" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-scheduled.stderr.gz", + "bytes": 46500, + "sha256": "59bef5c714ea86167b73e001ff0c945b03afe16703f94e625b79748903c5364e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-direct-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz", + "bytes": 175687, + "sha256": "38bacbb5e71567d9987306ba1b28d83967e1fc5edc1d1fbd3534fe202d5e1ff4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/check-0.log.gz", + "bytes": 232, + "sha256": "86dbf89e0d3677f6b71fe36ea8452971efddd18baa024a3dc670676e75a2d87a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/compile.log.gz", + "bytes": 499, + "sha256": "c03ae7ab9d9f6e4ce7b1a414d7cad5223bb6b41384d4a51bfd4a08b256131464" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/rewrite.log.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-native/zero.ll.gz", + "bytes": 240228, + "sha256": "7199cb7621992e13c45daaf547d446f51c767ffb25bb1cd8d240bb0dd18123e0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/.perry-trace/llvm/test_json_zero_spacing_ts.ll.gz", + "bytes": 151917, + "sha256": "daf8a77706845499060a3b8dac7b48ff8b8535cb1fdc112a7efaf024480dc30e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/check-0.log.gz", + "bytes": 119, + "sha256": "cee14ccd202819a708991a25c70f2054f462858add40f54840b4e1bb58d81a7b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/check-1.log.gz", + "bytes": 154, + "sha256": "f66ccfe5d82ba516e25419bd304b53bf811f6c656e94f92303d3a87fcb0ab837" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/compile.log.gz", + "bytes": 503, + "sha256": "b475c871d65d41708f43a8666e51aea11cd6fa5fedc1dd79e83950d8fbc88277" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-ir-shadow/zero.ll.gz", + "bytes": 151917, + "sha256": "daf8a77706845499060a3b8dac7b48ff8b8535cb1fdc112a7efaf024480dc30e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-roots.json", + "bytes": 1864, + "sha256": "81c43681bfc0c3af289eb653697ba2a100047e5cd4e58a6b6e5ee3155be40c2b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-fullgc.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-fullgc.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-normal.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-normal.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-scheduled.stderr.gz", + "bytes": 47835, + "sha256": "1f4017c846d860906c2bf5276f810a5d97ea7bf68cfb83ee2a0dab230d469842" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-tape-scheduled.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/main-zero-validation.json", + "bytes": 3002, + "sha256": "a4c3bf4ade2c2d8ab7dbdccdda321d8f5da85d8ece44ce8b12e10e1a9a6111ce" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/manifest.json", + "bytes": 379669, + "sha256": "5848fcb595e0de2503f6ae55da1851f60d8a22692b092b601a16f97752f77c96" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-changing-options.py", + "bytes": 1762, + "sha256": "bf3c200ba08ee6d1f90c0be241b6af2045db6881a107ddae44188aa0540303d3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-full.py", + "bytes": 1661, + "sha256": "f9ea6d91a552375018d9c9c36d0a55cc7c03af930bf546b279d50cdae92f15c4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-large-options.py", + "bytes": 1708, + "sha256": "09d11119c03f3f23f6ade09fe4ab3e8e340f60c4d022d222027ec1a6ba553fe5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-large-recheck-options.py", + "bytes": 1781, + "sha256": "682583119410a68efc5953086db2dbc66fe1ccf54e2def559ed802da5bbf1b35" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-small-rotating-recheck.py", + "bytes": 2734, + "sha256": "75c692fcb1a6e8cfc86935712ac34742919093364212a5702d7cd6759056f6c7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-supplement.py", + "bytes": 2719, + "sha256": "b8a9283a8f493c05fefbdb8d8d781dc02f0a637864c7d6cda90e9e34e16a6c77" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measure-zero-retained.py", + "bytes": 1458, + "sha256": "de8de8302b063dd1c5a394ea8f0fbb5c339c70f00288fbc462f8acbfad4dc0f3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measurement-plan.json", + "bytes": 788, + "sha256": "8324018f379ec1d0cdb28f150ab710382ec762459b7eb689ae9cfddebe110862" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/measurement-verdict.md", + "bytes": 2532, + "sha256": "6e39ae68af4082357859ea44573b810ed9b9143999c8392e74fc42b268e951df" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-analysis.json", + "bytes": 27366, + "sha256": "dcc746910e0a65257e1678b662a7b4d4df29abd2019146e4f0d6f79ff46812b1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-normal.stderr.gz", + "bytes": 671, + "sha256": "9d1c3760a709133fffc1735a75b08aa315662530dfcbece7f054d09280b06b62" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-normal.stdout.gz", + "bytes": 1840, + "sha256": "03b5d94ee94e6f7ff75d28e5cc6c95828579bb49ae79dd597343617863b58878" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-scheduled.stderr.gz", + "bytes": 5615, + "sha256": "9195f1a8892a87fd8d5890b27d2b91f633095451e9623d91de875e79efc2aff1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-records_array_16k-pretty-scheduled.stdout.gz", + "bytes": 1840, + "sha256": "7c6c88e5533657ce983e99961f955a6e58e2077f748e2aafec42c4f067259394" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-normal.stderr.gz", + "bytes": 672, + "sha256": "e52a40f201a877e3f427677d6b8b8d1c03be9cb0168ea9a21d9aa1c9a0809e6e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-normal.stdout.gz", + "bytes": 169, + "sha256": "903670be198c16c3c96d931d890274ffa48053155a6be30c917b31b3291d5d5f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-scheduled.stderr.gz", + "bytes": 6021, + "sha256": "be1e14edc9b5d532ddeed7b3556c23cdc80017a566285e4d0f840c970b28c58b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-callback-scheduled.stdout.gz", + "bytes": 170, + "sha256": "be2e095c7eb56cb40b6a5d8b7e4de4dc20b89a1d0128ce85183b700ee81461ec" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-normal.stderr.gz", + "bytes": 672, + "sha256": "0cb54e0802f7fe91e0b73e7ad088732488634159eb2685209034be6388f0e742" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-normal.stdout.gz", + "bytes": 169, + "sha256": "c57e963a89ec5284c0d51757d2f27220fdab44203cdf83f4c107d4884171759b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-scheduled.stderr.gz", + "bytes": 5764, + "sha256": "ea503ed9b9f8de8116549897c877a71efa58da9cc0e8f76216f70b25cbeaa7bc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-dynamic-zero-scheduled.stdout.gz", + "bytes": 169, + "sha256": "60042e5322a5f7ddd34ea2b7afa18f860df59b0d627c7ba40b7045b5b2909233" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-normal.stderr.gz", + "bytes": 671, + "sha256": "da480c8d342bda7f0e60f00859760c277b098a3861d83d1d13a9acfe04ed47f8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-normal.stdout.gz", + "bytes": 169, + "sha256": "84acbc5cb0ecbe7dfc88291a9504548ae05b288d6616f8b6d4c670af045f6e24" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-scheduled.stderr.gz", + "bytes": 5738, + "sha256": "83a378fd8db8641e798ba5c62703ccbd3e091f303a69c3c90fb1d49a3f3b2713" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-keys-scheduled.stdout.gz", + "bytes": 170, + "sha256": "7e7d2e21d13d8bbb408754e296550aa9d82366625c909341f525bfae4115d55c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-normal.stderr.gz", + "bytes": 672, + "sha256": "88c56779a544046b53cb371610462ce70c7f0f4ae0f140e1925b640b52cd4308" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-normal.stdout.gz", + "bytes": 169, + "sha256": "847ce55b5b890683463f46c794a7a026011452ffdf9486b46896defaf5bc461b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-scheduled.stderr.gz", + "bytes": 5769, + "sha256": "841654865510ec1af205684bfed4eb40bb0b076f7265fa6ccb88bf6d40540bd3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-plain-scheduled.stdout.gz", + "bytes": 175, + "sha256": "e1b8fe4d5215596c0786348bdb645cc5534cea850d26b7c2fb4ea4e9946d60cc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-normal.stderr.gz", + "bytes": 672, + "sha256": "3c40428c8c71f4d86afa5a035f9eb5daea7dedf04439634e3cdf4a7356809af6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-normal.stdout.gz", + "bytes": 177, + "sha256": "2e3026e38696557432cc243d26a3c5b0cb321dd7fbf4c7692604e64d978ee6e5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-scheduled.stderr.gz", + "bytes": 5782, + "sha256": "c95719d8d8cf3a4d09e6975ec265d92377f8efca0cd62267444ea884da0badc1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-pretty-scheduled.stdout.gz", + "bytes": 179, + "sha256": "ab57ff063f7cf6971a40aac04e9dfcc693f3fe84f096834df246c42ffc5d93fb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-normal.stderr.gz", + "bytes": 670, + "sha256": "3cb0e798d6d9e3ac7c077cd59d58f02a94f844526421fbf59f3d079a32785bf4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-normal.stdout.gz", + "bytes": 169, + "sha256": "16f7cc79bc663a9dfc68ddf2bc53632dcaed935142a5edcaa3189dbb9fc4e367" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-scheduled.stderr.gz", + "bytes": 5756, + "sha256": "d4294a605cb1fb1c61331f850249112522d437e4084b5c30e54f4db60adce0e8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-candidate-small_record-zero-scheduled.stdout.gz", + "bytes": 171, + "sha256": "14220ad1ee96d052b150c435b52010089218223378803e438f861b54ae67a015" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-normal.stderr.gz", + "bytes": 670, + "sha256": "63faf63f410e9d4ad443fd366aad1209ec117ba44346e668cbd103db2b38c398" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-normal.stdout.gz", + "bytes": 1841, + "sha256": "6630d4505b9d5ee75053c6ac3a6182a084e93d1c040892d354411d53a49b9dc1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-scheduled.stderr.gz", + "bytes": 5583, + "sha256": "7c2d77b690d5285aa07e7f9f56c5e25353ba8f16e269223fd83ac545ecc7a228" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-records_array_16k-pretty-scheduled.stdout.gz", + "bytes": 1845, + "sha256": "6c05905bfa1676102525abdde6a925e7ef36b2874f023b18c2f56b4666f4627f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-normal.stderr.gz", + "bytes": 671, + "sha256": "fe322d57e0056cd0d272c450a2ae3c6987be0db0afa263987c27b8a12e5c6de7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-normal.stdout.gz", + "bytes": 169, + "sha256": "224f4b2492607e9082b6542e39375ca42ea501069427726f7bdfd84573b9a619" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-scheduled.stderr.gz", + "bytes": 5902, + "sha256": "f06dab1d19916a808a7c308f1d7a5c3671a9bc0770a056185e66660a509e797e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-callback-scheduled.stdout.gz", + "bytes": 170, + "sha256": "e9d4349d04c8a1ec5a7732edad689c0a58800084632962d812805522dec4f001" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-normal.stderr.gz", + "bytes": 670, + "sha256": "939be4ca25f57a58d3e3ac9a856695798e4e889cecf52d91896c8ad88c285e00" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-normal.stdout.gz", + "bytes": 168, + "sha256": "153a61af737cc3b54acc44a11c07f2cf1a7e2c6a20edcaa60a1610d15b8846ea" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-scheduled.stderr.gz", + "bytes": 5704, + "sha256": "265852b57d52efb7fb6ad725d29614acefe18c126e1410a4e1c953999cdecea9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-dynamic-zero-scheduled.stdout.gz", + "bytes": 172, + "sha256": "c4e30c967b17dfd5fae6e793bae7703a8ce8c1374fb783a966d11bd017ff7a85" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-normal.stderr.gz", + "bytes": 672, + "sha256": "9a058e239b279987addbbd448461fdf3dc6236cfb4f53eaf21ec036b6081ebee" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-normal.stdout.gz", + "bytes": 168, + "sha256": "d13cef6ba7c4f738231ba06281a954eab21be4ee0c1bec3aabcbaa52380c7df9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-scheduled.stderr.gz", + "bytes": 5735, + "sha256": "3a1513409ec427281d27250b8b9c4cb95521e52f3d5861663b19e728b77bf2e3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-keys-scheduled.stdout.gz", + "bytes": 170, + "sha256": "19f7637510c5d1d09b7deb4f1a816a9532e150a9bbc502db0e71e8fce0698f92" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-normal.stderr.gz", + "bytes": 670, + "sha256": "74435d8821cd69a11e1007f3268669a31c0af24b36266af1e1bb48c357cc6be6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-normal.stdout.gz", + "bytes": 170, + "sha256": "40e84eaa79fd7d0016b6b2f7f5ec891b274bcb488f46074a01ca11288ada88fa" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-scheduled.stderr.gz", + "bytes": 5776, + "sha256": "6ece7baf2be032c163edb6faaf787977ae860608bc1e6c7933634c29a188be3d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-plain-scheduled.stdout.gz", + "bytes": 174, + "sha256": "218b6e7b7dbb3b3f1b9acfb74e5ebfedf2e06eceb4b6c0b27c2379354399c089" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-normal.stderr.gz", + "bytes": 671, + "sha256": "8096918b28cdf5bc3e6496f7e010c983f1a28d5409d13c27483a8bc51977120d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-normal.stdout.gz", + "bytes": 178, + "sha256": "be528806141282629a70e07f15a9f5ddb25c7ef271a54ba9707409330aff75a2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-scheduled.stderr.gz", + "bytes": 5753, + "sha256": "142668ed486728b826993956f25cc03edf64372311675180360d2e9cfcfadc4d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-pretty-scheduled.stdout.gz", + "bytes": 181, + "sha256": "7c14fc3e9120c1727a637d31fea9f95d1b2163200e1ac8041ca5283993334e49" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-normal.stderr.gz", + "bytes": 671, + "sha256": "7fbca9dda929cc7e0a9745a2e2f4b6aa4100c5bc3d4cca220e3ef4d84a6c73ff" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-normal.stdout.gz", + "bytes": 169, + "sha256": "564d5efab095dfa1e6d6ce0f275bfab8a62d7da16335b3b32987da7abaf3d82f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-scheduled.stderr.gz", + "bytes": 5741, + "sha256": "f9ee8a045cd514fada11ed9edc41b494c9e4f1ebb98fae634898ece286223e30" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-main-small_record-zero-scheduled.stdout.gz", + "bytes": 170, + "sha256": "b2e68ba57b6e748e0fad3db6a33eeb074d4426e0d2b905c88547c9093bb9038b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-worker.js", + "bytes": 2264, + "sha256": "a8615b823b58b3f437bd3cb4c6418bc7279a767f93a082f1f206a49aee0cbaa9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/options-worker.ts", + "bytes": 2323, + "sha256": "d08c6a916c18197b889a0de4a3777632ad307275752b85c5abd75daf4d6ad85d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/packaging-whitespace-repair.json", + "bytes": 3338, + "sha256": "c7eb54d066780890b6b06a079c08d5ef3ebf3e4103d12917179777fbb159297c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/prior-entry-node.stdout.gz", + "bytes": 360, + "sha256": "b0790da500966370f6f980fe47cceff7cbd5b9555a4b94e49a85206a4fc8cd54" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/probe-lazy-baseline.py", + "bytes": 2409, + "sha256": "da65ba2bcc65be99759037329865c9be288b1f8cd09130669f15562fa45b4ccb" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/provenance.json", + "bytes": 2332, + "sha256": "ecb0ea3b8601b05b4f6165ceef95c30415720e0fa10068b92bc7cb3539f45e93" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_array_get_f64.s.gz", + "bytes": 6044, + "sha256": "18c1f3d5c2476e6d571035bae319800e7906ae3ad615dbff7bb380fe39967833" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_parse.s.gz", + "bytes": 629, + "sha256": "3083bf7d1f22f981a9dc956ec23b2b2833cb21c9665a6db8d623e1aedc8972a3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_stringify.s.gz", + "bytes": 4782, + "sha256": "b40dd0f7f4a34b83ffe44142f280db868e510ae059ae053e1476afbffcddde66" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r24-entry-_js_json_stringify_full.s.gz", + "bytes": 16656, + "sha256": "8a5a5608d6d607d88a7a6d187f2bd89afb72f0726ccbdcff313ce5cc7c980082" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_array_get_f64.s.gz", + "bytes": 6044, + "sha256": "4307f638c7ab88418efc1432776bf82e0c0187069d6f9b6e971c61ba51b06150" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_parse.s.gz", + "bytes": 634, + "sha256": "f637b06c4ae7a9261ea22517fe4f12ed4ece6b1feec44340a5a2f00a907b17c7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_stringify.s.gz", + "bytes": 4785, + "sha256": "a51c9fbe3d244b462c712deca040849b80cc4eb9055bef0b09ccb1640b653343" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/r25-entry-_js_json_stringify_full.s.gz", + "bytes": 16492, + "sha256": "dbc2a1a240edea0f1d4f0e83a2e52b0000a5542c50354485c6f9f6baab077b3d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/read-disassembly.json", + "bytes": 6267, + "sha256": "f986d53192c122321ad42729e06d08d4bbe99af5ba454b60659bd0922c475c29" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/refresh-validation.py", + "bytes": 1770, + "sha256": "0d0e06dcf0ebdfa8c59819f2193e9abea18ddadc7a1b377db254717fe3d9eab4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remaining-gaps.md", + "bytes": 2988, + "sha256": "017494d3dd56a08f79ebe308bdfcddff6818f3ae24a37e9d9c23e2d6778cdcf6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-changing-options-command.json", + "bytes": 522, + "sha256": "34ba5b17c7a842d637ba51907339c5c61ec4006f20b2e74ad50d77879f6038b2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-changing-options.log.gz", + "bytes": 156, + "sha256": "8b4bac8c486ebb14fe0a2774ec1d7c35fe47a606a482418ad9f19e786638240c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-full-command.json", + "bytes": 2804, + "sha256": "7d4acbe268e9131b2468a69323fc4750c8885e7def332115ad530bde1c179125" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-full.log.gz", + "bytes": 161, + "sha256": "72cff2a4255fe91742fd3281d9f5dee096c59df1d525d3b18634fc9382be7338" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-options-command.json", + "bytes": 567, + "sha256": "fe8283d30607b1ebcaed0a0c30b88dde48d8e999c77de20fc050ea2addfd2b0f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-options.log.gz", + "bytes": 162, + "sha256": "5c5f0a41a5ac96b4680dbadcb8f8af8fed16fe740a51a6a67efedb31493c7871" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-recheck-options-command.json", + "bytes": 429, + "sha256": "0d98b552b1bbcf243d748e94e6a4aa1ef0a9a109b3447619d2027a1a35938f85" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-large-recheck-options.log.gz", + "bytes": 133, + "sha256": "542a85fb7908fc705b1cd17d2a0c5164713fba46f6316982927f9972a015e43b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-options-command.json", + "bytes": 367, + "sha256": "8c0d2da36041cd1c70e3082c37ec85bc690bfb67396d32aa1f22b683bd6512bf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-options.log.gz", + "bytes": 158, + "sha256": "59b04911f43adbd61e14dff7e3223dbac1f894f95cc7fe5483c6bc3c180b8d27" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-retained-command.json", + "bytes": 367, + "sha256": "104f3bcd39debfb397bdb819914675174f10a2c16ace66f57628f5a49f7a10a7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-retained.log.gz", + "bytes": 160, + "sha256": "b162c3bd26d6a511b2076c2932837dd89dbc0f1d9a9fe0bac5deeab1cccefa1f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-rotating-command.json", + "bytes": 559, + "sha256": "914479e3ed7a32e00983dfb2e8f2e56438df6db5345502257c5e8e2d1f5728f3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-rotating.log.gz", + "bytes": 155, + "sha256": "e6cf3917850c5fd4bf9f935edcdd4fa7512e6774eea64fe0fd4bd14cc2ec617f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-small-recheck-rotating-command.json", + "bytes": 520, + "sha256": "c86cafa14a4f7f6508748e2cfc06c2e6ef223f581fe80c0d194e9ed4bc8df097" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-small-recheck-rotating.log.gz", + "bytes": 155, + "sha256": "b6ffe29682e1895595766aa3375de6eba66275343153326e6873910afa2c263b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-stage-hashes.json", + "bytes": 15229, + "sha256": "aa1fe54e0fe44b49271fe17c126710379338065fc74257b1899509ef5bd61b3f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-zero-retained-command.json", + "bytes": 391, + "sha256": "8e7c17643b8823db52ecabe1e59427f477e1a8618d8cb76e5a15c4fd27891cf5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/remote-zero-retained.log.gz", + "bytes": 160, + "sha256": "4a9328df38fd49b83c58305b09b07216fdfb7020d1868ae6c4d47258264634de" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-analysis.json", + "bytes": 178130, + "sha256": "bdcf0fd2cbe558b86ea8bcf6026c64e139ba620a1d34499b1398de776e61b331" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-normal.stderr.gz", + "bytes": 4031, + "sha256": "eac34ee221fcf583a1831aa4ec1f10e38b62c8ec71236bc0fdab04fd788ed3f6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-normal.stdout.gz", + "bytes": 1664, + "sha256": "a318b3f2a10b22eaeec0a7740a3e20fc04ce3202627c7cf195233d12b3134210" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-scheduled.stderr.gz", + "bytes": 6130, + "sha256": "7a35cc4b92589cc95467673ac8e3964af7c7f3146ea24b1df23180a03816982d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-long_string_1m-retain-stringify-scheduled.stdout.gz", + "bytes": 1663, + "sha256": "94ea3db458785d3e06271e42879a94b12541d7706af2e7453c6e80319b1b2616" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-normal.stderr.gz", + "bytes": 671, + "sha256": "6d2993b315cc2bbdf6cf003bd7f05a618a357a81fe370b66faf802f618e5d2dc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-normal.stdout.gz", + "bytes": 173, + "sha256": "d24924c18920b0295ab86bc456948f7cab9f53dfd0ca4d847bb48017c7a84c9b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-scheduled.stderr.gz", + "bytes": 6053, + "sha256": "3dbfdcbbd4d326d47ac71feb61f1c0c5afc1098e83301dd3674d06db024db567" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-small_record-retain-stringify-scheduled.stdout.gz", + "bytes": 174, + "sha256": "2b91fc7b9471d3dca9551aa0cc5dff4e9f7dd2f3c91e17b19e982c2fc5d3f95b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-normal.stderr.gz", + "bytes": 671, + "sha256": "60e8f81c45749f19cbba343e7750a6fd456183853cb7a9f406bcd98e3c2eb761" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-normal.stdout.gz", + "bytes": 92, + "sha256": "e7ca91668c7d481e24eced558665c5f847e02edb99d087ec414e3580117bf84a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-scheduled.stderr.gz", + "bytes": 6104, + "sha256": "ba2077c9517cb008e5d3bb59cb9defd9995e424cf8bb55a368ffc0907f6922c1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-tiny_object-retain-stringify-scheduled.stdout.gz", + "bytes": 98, + "sha256": "25d35f3c0e8ccfad7a1576a49993ed265bbe0604b332e35b82342fc03b9ae7c0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-normal.stderr.gz", + "bytes": 3188, + "sha256": "a81d9ea16b44f1e251228e0dcbd8961efae64776c31194e3d077fa06c863c650" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-normal.stdout.gz", + "bytes": 2304, + "sha256": "a78ee4ca6b87c2183e70fa672cde4d0744d7ef91fff77dc3ec05e30b0e860471" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-scheduled.stderr.gz", + "bytes": 5882, + "sha256": "bee334e9ab3bc17361b5e904291b23d7967872303d10e668558f6e1a5785e92b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-candidate-unicode_1m-retain-stringify-scheduled.stdout.gz", + "bytes": 2300, + "sha256": "76139cfe7b0a02462f279fd8fb60c071d4c8504f7c3260719944c35764c04831" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-normal.stderr.gz", + "bytes": 4061, + "sha256": "a9666befbe63520cfecde0996b6a594127369ab916cf688d7a71865265ae9aed" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-normal.stdout.gz", + "bytes": 1662, + "sha256": "6d4f1b8bcac7e0019d86736e134ba62312d006b08b1d2a95989cabddd763203c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-scheduled.stderr.gz", + "bytes": 6227, + "sha256": "e6930e3c55911a133d1f2b67e4b6ebe5c0b9f31d40bcc534e27bb97ed9e7f383" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-long_string_1m-retain-stringify-scheduled.stdout.gz", + "bytes": 1664, + "sha256": "394abd008266298d6307afcb863a86dc2589f06e125c8b39453cc03f35d82c56" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-normal.stderr.gz", + "bytes": 671, + "sha256": "b4c93ee5c61444e37111f1dc7d04a48afd63fcd3f71ef8f311b1fe054d66a2d5" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-normal.stdout.gz", + "bytes": 172, + "sha256": "49b4287f3027d77ac6c8781b92ad3fc546aceeb22ae74a3bf35b2e5f73b6fb3a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-scheduled.stderr.gz", + "bytes": 6115, + "sha256": "a8fc5f6d0b1b0525d48f6d97341cd4b989a575f0393727c717769288412fbca4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-small_record-retain-stringify-scheduled.stdout.gz", + "bytes": 175, + "sha256": "d24ecf24bbebd76ee878a7123753a6da52f732184b4a183f7c79533aa3f2c278" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-normal.stderr.gz", + "bytes": 672, + "sha256": "5d9f5ec801c4b02812eabb17a774efcccc194393bd835a253a57b5bd5178855a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-normal.stdout.gz", + "bytes": 96, + "sha256": "75d538b3a1eaa5d2ccfaa95dd406bd61569edf5b6b93c08c1490356c8da1e976" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-scheduled.stderr.gz", + "bytes": 6090, + "sha256": "647d002a805db58d520851d6e2be120c7f58c8f312109217ba47787807ada45a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-tiny_object-retain-stringify-scheduled.stdout.gz", + "bytes": 98, + "sha256": "1366b55bd2f8e58e13cb12cb42d52ae2eea74ff30d668231c18f307241206895" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-normal.stderr.gz", + "bytes": 3191, + "sha256": "6f0080d5b03dc3dc537333bde731cf0a140d872013890b25a76cad3bac3c74a7" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-normal.stdout.gz", + "bytes": 2300, + "sha256": "c1a2fd1cedc745ed6f88a8dd426f6351d3c7d0c68437808217754512898a8504" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-scheduled.stderr.gz", + "bytes": 5976, + "sha256": "251c1df34d75a44708b18c17a405c98d74e9cc79776f81b7023d0ab6123c2ee9" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-main-unicode_1m-retain-stringify-scheduled.stdout.gz", + "bytes": 2304, + "sha256": "56072e0917dbb4117af313514fc7f73260c63305876bbd0bcfe5adbcd8356c73" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-worker.js", + "bytes": 3415, + "sha256": "5787baa8171ceba117dfd41fb4c7b25a77fcb8471d6b18bd5aeec41d5f7388bf" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retained-zero-worker.ts", + "bytes": 3415, + "sha256": "5ead488614d020e33d7711aeb2d9d805426ff46c9283101c1f659b1d93f8d03c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/result.json", + "bytes": 291, + "sha256": "2adffe99892c7c0e333f81dcb4dc2da73b0c86379f62fbadb1d6bf0b2d687e85" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-normal.stderr.gz", + "bytes": 672, + "sha256": "958acccf2f7c369b2498d7cf64f7a71783018fee0803190a4d5fc8e2c3eccfe2" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-normal.stdout.gz", + "bytes": 89, + "sha256": "37552b22658fcbdd55b3c12d927792e4ef4ef2a0dfe7b7562bb35ce3d4f4e704" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-scheduled.stderr.gz", + "bytes": 813, + "sha256": "0974390ce45095299e44b9d55cd386abb193be93f9d2c82f19a0a7099593ae7e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/retained-zero-main-tiny_object-retain-stringify-scheduled.stdout.gz", + "bytes": 93, + "sha256": "29921f7799aee8d13c45478bc98a02521403f0e5e77503004932db8a363bebad" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/retention-witness-initial/validate-retained-zero.py", + "bytes": 2428, + "sha256": "5d3bcd2db952a31389434a41c77cc16b3ae76280f7f5253669f22eee625a866e" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/root-comparison.json", + "bytes": 9243, + "sha256": "1ffdc7f6039cdff843f5e868bef85e7a02d0204afe493499cb67dcdf1059038a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/rotating-analysis.json", + "bytes": 39065, + "sha256": "4a94e3c994018b4e784c02ca1ddd81f4632b6f68615162841aa44f5af9b09325" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-access.py", + "bytes": 4578, + "sha256": "66fe9672332f5aea8d00f06f35d378ab082f88b44afb2f16f51a4a32603afb8c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-after-build.py", + "bytes": 3510, + "sha256": "d3240b9a70aafc6a6013381a4fc29a134248d3d02e3a435a6fc22d419df4bff3" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-candidate-validation.py", + "bytes": 1389, + "sha256": "cadcba87c0282e393804a301fb871a31776bd65ed2fa0073e4e9e135613f9265" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-changing-options.py", + "bytes": 6250, + "sha256": "4db8d68ed19d3d1b505d59b37bf0151d7fb2fda733146cca23e93228a99190c4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-focus.py", + "bytes": 6585, + "sha256": "052f3115e095de5308e230ac6332f9210484575514aa8049c1ade124975bf060" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-lint.py", + "bytes": 759, + "sha256": "b228808035eba5472e845e534d7799d2222ee142cef0a273cb941810fdfd53f8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-options.py", + "bytes": 6438, + "sha256": "698166c0014b837ea1ac3edbe273fd7b9c2b406a53e970760f2bd36589b571a8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-retained.py", + "bytes": 6973, + "sha256": "6aca9bb16bca7d1ccd28baa95a41bae00d4b9ff875e58788a5570c46bf8493da" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-rotating.py", + "bytes": 9383, + "sha256": "ba31db533cc22a82ce8f9daa65a4a4134bd6aa9608ecc3f340cc2022098ad316" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/run-zero-retained.py.gz", + "bytes": 2328, + "sha256": "798cc4de0027522d61d1d75781347119de79b86e33335a22dfa78a3c82b60d8d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/rustfmt-initial-stdout.txt", + "bytes": 18224, + "sha256": "7176a229193721913c00d577a48d6db45ce93967e7a855f1a50617fe1d838eae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/script-lint.log.gz", + "bytes": 2028, + "sha256": "81c773c23cd268fc437e97a467f8074070b7d541c326e34762a96c41f1e748ed" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/setup.json", + "bytes": 560, + "sha256": "39a069ee89d8d3bcbbbf864d463a5fa3ae5f6ae31c58cc9a6a17a49a0076cc82" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/small-rotating-recheck-analysis.json", + "bytes": 11256, + "sha256": "0652e3700e520ef5b7802952651f6c3c61aaa270cacef7525c839b205c587e21" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/source.patch.gz", + "bytes": 2726, + "sha256": "0ec8a78fac6f9d1e8759ffa25fe68d6bcafba2856e7b0a1e32d10b46d9cd51f1" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/stage.py", + "bytes": 8319, + "sha256": "dd4119bc5151c813b226c12a4b1065b235750f25387cac654a20928c71aab84d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test-before-format.rs", + "bytes": 18035, + "sha256": "24a3c1fe51285944ffcac009af9b892ecd5940cd3030340b24d49ea513b19c6d" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test-formatted.rs", + "bytes": 18111, + "sha256": "ef299650075cd058f1640eee2b6bdd0e745c34a7567c6cac3410eca06e7e1d1c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_cached_construction-node.stdout.gz", + "bytes": 44204, + "sha256": "b89c369067e22472d15922aa100d36f06be0404fa5fb4a2c8e3a10093e5caf91" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_cached_reads-node.stdout.gz", + "bytes": 43, + "sha256": "4c3ec6922556b9e58b5ac751d1aefb9d2b13aa6cd37b985657c3b2a54657af38" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_source_length-node.stdout.gz", + "bytes": 128, + "sha256": "a82c20d9641760836f6a8ab914c244105eff681f76d8d97bc37fc31d74d46671" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_template_capture-node.stdout.gz", + "bytes": 105, + "sha256": "b179f0302471836be3740c24f8e7543f200396780e542aadf898dae28d8c82ae" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/test_json_zero_spacing.ts", + "bytes": 3713, + "sha256": "9cca6718bfd28571f0e3ab9e677d1b11f9bf1aa250335bf3511ebf5e021e0797" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/unit-source.json", + "bytes": 631, + "sha256": "fa25704295b7df6e373a20fdbc6894501a9c7be9fbc2c5ba837e3bad461d7b89" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/unit.log.gz", + "bytes": 6615, + "sha256": "9084671a1f4cc29c1eef5fe1d63130e26458a779fb1da88fac12da7bd319a4d4" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-and-build.py", + "bytes": 1484, + "sha256": "1793780ddcceb227002566c16420086a034cfc391986294d634c20d4a081253c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-changing-options.py", + "bytes": 2404, + "sha256": "2e65bdbd42801154589a417a920a461e6225ade84c6fd0c5cf4230155808a61c" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-fixtures.py", + "bytes": 2816, + "sha256": "a789fbdf1a23ab3f247235e0a909464b0f0869a042497867f5792dcf7ce41b80" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-fraction.py", + "bytes": 1703, + "sha256": "50d439538133260244b63d569e3c2a72e85cabeb7d1e780920c14f2b33a7be5a" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-getter-baseline.py", + "bytes": 2279, + "sha256": "e8a9aa55d90dba9c874b90f6cdb8219406e35fc6b8cb68f7a261927b15da30fc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-options.py", + "bytes": 2407, + "sha256": "e870bfe1145fa558e47f0a9af1fde3efb18e30458f679a778f55f4b0c9d29cdc" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-retained-zero.py", + "bytes": 2428, + "sha256": "db7631a047e0b67c008a45a61c8ca08588a089512e35a8d84d62e97930f78fc0" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validate-zero.py", + "bytes": 2788, + "sha256": "eae83f5dfaa093307809967282a5ff6fbe5e5ab22a5f8c04c794cf8470823ec8" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/validation-verdict.txt", + "bytes": 1527, + "sha256": "e34aef8b0f99d0b59f3b2bdcde04205ed06f9fb105e877fb8b0debea0a01fefa" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/write-report.py", + "bytes": 8193, + "sha256": "c520f0b70bf2a9b5cc2d5ac3859c746a1fc0c76c94fed5f397425a28430c7be6" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/zero-node.stderr.gz", + "bytes": 20, + "sha256": "9ceffb7310338057cfe71a4ae1e2c98d2c485d81cdef906532a801f457a38d64" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/zero-node.stdout.gz", + "bytes": 601, + "sha256": "c5436e1cb2cfe176dfcc2c71c60457835259b8cea28e97a66cb6d312525a696f" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/zero-retained-analysis.json", + "bytes": 40391, + "sha256": "b919232433bbb3a726eb11ec0722f8f399e7d9be7d1b7aafa663c462267a4d7b" + }, + { + "path": "benchmarks/json_performance/results/zero-spacing-r25-validation/zero-root-comparison.json", + "bytes": 667, + "sha256": "f60d9758e46fbdcd4c891b4fa70c6259d04d80c0fc8d605f71c8531a0ab8759f" + } + ] +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/additional-root-comparison.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/additional-root-comparison.json new file mode 100644 index 0000000000..479db4eac6 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/additional-root-comparison.json @@ -0,0 +1,34 @@ +{ + "matches": true, + "files": [ + { + "subject": "changing", + "mode": "native", + "main_sha256": "1ca69aa2f7afab5f538487dc0eefd6b0f9059364379b62bc5250d485fab51592", + "candidate_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79", + "normalized_sha256": "630457db94e5b10ad30e7df0933b1545be2d702de1342e6d08afa4e04a7a831e" + }, + { + "subject": "changing", + "mode": "shadow", + "main_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "candidate_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad", + "normalized_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "subject": "retained", + "mode": "native", + "main_sha256": "0c4437d3b035de45848af65e78cafafb832a996dcd75c71cc0f4db45a88ce4eb", + "candidate_sha256": "b595f4e234a79727693e83a1309bc794585231a7ec309d69d85fff7a0bb188df", + "normalized_sha256": "e2413fabf0d549ac10598e9bfd5fb8cb869a23110e6e4305166ede1a741365dd" + }, + { + "subject": "retained", + "mode": "shadow", + "main_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "candidate_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec", + "normalized_sha256": "e004e8e3303d69850a581ef26185a89115d73b3e1926b7f9836562cdb29967ec" + } + ], + "note": "Retained-zero native/shadow checks pass. Changing-record shadow checks pass; native retains four unsuppressed R24 unrooted/global property-write findings, with identical IR and fingerprints. Not a clean native verdict." +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-changing-options.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-changing-options.py new file mode 100644 index 0000000000..fe4a2386d0 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-changing-options.py @@ -0,0 +1,103 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics, sys + +work = Path(__file__).resolve().parent +bench = work.parents[1] +outputs = {} +total = 0 +full_recheck = recheck = options_only = with_full = False +repetitions = 7 +phases = ['options'] +for kind in phases: + d = bench / 'results' / ('quiet-' + work.name + '-changing-options') + timings = [json.loads(x) for x in (d / 'timing.jsonl').read_text().splitlines()] + verifies = [json.loads(x) for x in (d / 'verify.jsonl').read_text().splitlines()] + summary = json.loads((d / 'summary.json').read_text()) + window = json.loads((d / 'window.json').read_text()) + assert window['quiet_gate_passed'] and window['finished_utc'] + assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 + assert len(timings) == 56 and len(verifies) == 10 and len(summary) == 8 + assert not window['competing_workloads_before'] and not window['competing_workloads_after'] + assert 'results/' + d.name in window['command'] + patch = d / 'source.patch.gz' + raw = gzip.decompress(patch.read_bytes()) + m = json.loads((d / 'source.patch.json').read_text()) + assert hashlib.sha256(raw).hexdigest() == m['original_sha256'] + assert hashlib.sha256(patch.read_bytes()).hexdigest() == m['gzip_sha256'] + assert raw == (work / 'source.patch').read_bytes() + host = json.loads((d / 'host.json').read_text()) + remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' + if kind == 'access': + assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} + recorded = host['hashes'] + else: + assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' + recorded = host['sources'] + worker = 'changing-options' + for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == hashlib.sha256((work / (arm + '-' + worker)).read_bytes()).hexdigest() + for path, digest in recorded.items(): + assert path.startswith(remote), path + local = bench / path.removeprefix(remote) + assert hashlib.sha256(local.read_bytes()).hexdigest() == digest, path + fixture_hashes = json.loads((d / 'fixture-hashes.json').read_text()) + staged = json.loads((work / 'remote-stage-hashes.json').read_text()) + assert len(fixture_hashes) == 19 + for path, digest in fixture_hashes.items(): + assert staged[path] == digest == hashlib.sha256((bench / path).read_bytes()).hexdigest(), path + expected = {(v['fixture'], v['operation']): v for v in verifies if v['engine'] == 'node'} + for v in verifies: + e = expected[v['fixture'], v['operation']] + keys = ['checksum', 'retained'] if kind == 'access' else ['verify_sha256', 'checksum', 'retained'] + assert all(v[k] == e[k] for k in keys), (kind, v, e) + declarations = {(c['fixture'], c['operation']): c for c in json.loads((work / 'changing-cases.json').read_text())['cases']} + assert {(r['fixture'], r['operation']) for r in timings} == set(declarations) + for r in timings: + c = declarations[r['fixture'], r['operation']] + assert all(r[k] == c[k] for k in ['iterations', 'warmup']) + groups = defaultdict(list) + for r in timings: + e = expected[r['fixture'], r['operation']] + wanted = e['checksum'] / (e['iterations'] + e['warmup']) * (r['iterations'] + r['warmup']) + assert r['checksum'] == wanted and r['retained'] == 0, (kind, r, e) + groups[r['fixture'], r['operation'], r['engine']].append(r) + assert len(groups) == len(summary) + for s in summary: + rows = groups[s['fixture'], s['operation'], s['engine']] + assert len(rows) == repetitions and {r['rep'] for r in rows} == set(range(repetitions)) + if kind != 'access': + assert s['repetitions'] == repetitions + cpu = [(r['user_us'] + r['system_us']) / r['iterations'] for r in rows] + rss = [r['peak_rss'] / 1048576 for r in rows] + assert cpu == s['cpu_samples_us'] and rss == s['peak_rss_samples_mib'] + assert statistics.median(cpu) == s['cpu_us'] and statistics.median(rss) == s['peak_rss_mib'] + by_case = defaultdict(dict) + for s in summary: + assert s['engine'] not in by_case[s['fixture'], s['operation']] + by_case[s['fixture'], s['operation']][s['engine']] = s + assert len(by_case) == {'access': 12, 'focus': 5, 'options': 2, 'full': 5 if full_recheck else 50}[kind] + assert all(set(e) == {'baseline', 'perry', 'node', 'bun'} for e in by_case.values()) + comparisons = [] + for (fixture, operation), engines in by_case.items(): + a, b = engines['perry'], engines['baseline'] + peers = [engines[e] for e in ['node', 'bun']] + comparisons.append(dict( + fixture=fixture, operation=operation, engines=engines, + delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + paired_delta_pct=[(x / y - 1) * 100 for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])], + slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + separated_improvement=max(a['cpu_samples_us']) < min(b['cpu_samples_us']), + beats_both_peers=a['cpu_us'] < min(x['cpu_us'] for x in peers), + rss_beats_both_peers=a['peak_rss_mib'] < min(x['peak_rss_mib'] for x in peers), + all_samples_beat_both_peers=max(a['cpu_samples_us']) < min(min(x['cpu_samples_us']) for x in peers))) + outputs[kind] = {'window': window, 'timed_trials': len(timings), 'cases': comparisons} + total += len(timings) +assert total == 56, total +(work / 'changing-options-analysis.json').write_text(json.dumps({'trials': total, 'phases': outputs}, indent=2) + '\n') +print('VERIFIED', total, 'timed checksums and every CPU/RSS sample vector/median; all qualified quiet windows and patches') +for kind, phase in outputs.items(): + for r in phase['cases']: + print(kind, r['fixture'], r['operation'], f"{r['delta_pct']:+.2f}%", 'REGRESSION' if r['separated_regression'] else 'GAIN' if r['separated_improvement'] else 'overlap') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-extras.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-extras.py new file mode 100644 index 0000000000..374233bf07 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-extras.py @@ -0,0 +1,110 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics, sys + +work = Path(__file__).resolve().parent +bench = work.parents[1] +outputs = {} +total = 0 +full_recheck = '--full-recheck' in sys.argv +recheck = '--recheck' in sys.argv or full_recheck +options_only = '--options-only' in sys.argv +with_full = '--with-full' in sys.argv +assert not (recheck and options_only) +assert not (with_full and (recheck or options_only)) +repetitions = 11 if recheck else 7 +phases = ['full'] if full_recheck else ['options'] if options_only else ['access', 'options'] if recheck else ['access', 'focus', 'options'] +if with_full: + phases += ['full'] +selected_phase = sys.argv[sys.argv.index('--phase') + 1] if '--phase' in sys.argv else None +if selected_phase: + assert selected_phase in ['access', 'focus', 'options'] and not (recheck or options_only or with_full) + phases = [selected_phase] +for kind in phases: + d = bench / 'results' / ('quiet-' + work.name + ('-recheck-' if recheck else '-') + kind) + timings = [json.loads(x) for x in (d / 'timing.jsonl').read_text().splitlines()] + verifies = [json.loads(x) for x in (d / 'verify.jsonl').read_text().splitlines()] + summary = json.loads((d / 'summary.json').read_text()) + window = json.loads((d / 'window.json').read_text()) + assert window['quiet_gate_passed'] and window['finished_utc'] + assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 + assert len(timings) == {'access': 336, 'focus': 420, 'options': 196}[kind] + assert len(verifies) == {'access': 12, 'focus': 75, 'options': 35}[kind] + assert not window['competing_workloads_before'] and not window['competing_workloads_after'] + assert 'results/' + d.name in window['command'] + patch = d / 'source.patch.gz' + raw = gzip.decompress(patch.read_bytes()) + m = json.loads((d / 'source.patch.json').read_text()) + assert hashlib.sha256(raw).hexdigest() == m['original_sha256'] + assert hashlib.sha256(patch.read_bytes()).hexdigest() == m['gzip_sha256'] + assert raw == (work / 'source.patch').read_bytes() + host = json.loads((d / 'host.json').read_text()) + remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' + if kind == 'access': + assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} + recorded = host['hashes'] + else: + assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' + recorded = host['sources'] + worker = 'options' if kind == 'options' else 'worker' + for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == hashlib.sha256((work / (arm + '-' + worker)).read_bytes()).hexdigest() + for path, digest in recorded.items(): + assert path.startswith(remote), path + local = bench / path.removeprefix(remote) + assert hashlib.sha256(local.read_bytes()).hexdigest() == digest, path + fixture_hashes = json.loads((d / 'fixture-hashes.json').read_text()) + staged = json.loads((work / 'remote-stage-hashes.json').read_text()) + assert len(fixture_hashes) == 19 + for path, digest in fixture_hashes.items(): + assert staged[path] == digest == hashlib.sha256((bench / path).read_bytes()).hexdigest(), path + expected = {(v['fixture'], v['operation']): v for v in verifies if v['engine'] == 'node'} + for v in verifies: + e = expected[v['fixture'], v['operation']] + keys = ['checksum', 'retained'] if kind == 'access' else ['verify_sha256', 'checksum', 'retained'] + assert all(v[k] == e[k] for k in keys), (kind, v, e) + groups = defaultdict(list) + for r in timings: + e = expected[r['fixture'], r['operation']] + wanted = e['checksum'] / (e['iterations'] + e['warmup']) * (r['iterations'] + r['warmup']) + assert r['checksum'] == wanted and r['retained'] == 0, (kind, r, e) + groups[r['fixture'], r['operation'], r['engine']].append(r) + assert len(groups) == len(summary) + for s in summary: + rows = groups[s['fixture'], s['operation'], s['engine']] + assert len(rows) == repetitions and {r['rep'] for r in rows} == set(range(repetitions)) + if kind != 'access': + assert s['repetitions'] == repetitions + cpu = [(r['user_us'] + r['system_us']) / r['iterations'] for r in rows] + rss = [r['peak_rss'] / 1048576 for r in rows] + assert cpu == s['cpu_samples_us'] and rss == s['peak_rss_samples_mib'] + assert statistics.median(cpu) == s['cpu_us'] and statistics.median(rss) == s['peak_rss_mib'] + by_case = defaultdict(dict) + for s in summary: + assert s['engine'] not in by_case[s['fixture'], s['operation']] + by_case[s['fixture'], s['operation']][s['engine']] = s + assert len(by_case) == {'access': 12, 'focus': 15, 'options': 4 if recheck else 7, 'full': 5 if full_recheck else 50}[kind] + assert all(set(e) == {'baseline', 'perry', 'node', 'bun'} for e in by_case.values()) + comparisons = [] + for (fixture, operation), engines in by_case.items(): + a, b = engines['perry'], engines['baseline'] + peers = [engines[e] for e in ['node', 'bun']] + comparisons.append(dict( + fixture=fixture, operation=operation, engines=engines, + delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + paired_delta_pct=[(x / y - 1) * 100 for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])], + slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + separated_improvement=max(a['cpu_samples_us']) < min(b['cpu_samples_us']), + beats_both_peers=a['cpu_us'] < min(x['cpu_us'] for x in peers), + rss_beats_both_peers=a['peak_rss_mib'] < min(x['peak_rss_mib'] for x in peers), + all_samples_beat_both_peers=max(a['cpu_samples_us']) < min(min(x['cpu_samples_us']) for x in peers))) + outputs[kind] = {'window': window, 'timed_trials': len(timings), 'cases': comparisons} + total += len(timings) +assert total == ({'access':336,'focus':420,'options':196}[selected_phase] if selected_phase else 220 if full_recheck else 2352 if with_full else 196 if options_only else 704 if recheck else 952), total +(work / (selected_phase + '-analysis.json' if selected_phase else 'full-recheck-analysis.json' if full_recheck else 'full-analysis.json' if with_full else 'options-analysis.json' if options_only else 'recheck-analysis.json' if recheck else 'extras-analysis.json')).write_text(json.dumps({'trials': total, 'phases': outputs}, indent=2) + '\n') +print('VERIFIED', total, 'timed checksums and every CPU/RSS sample vector/median; all qualified quiet windows and patches') +for kind, phase in outputs.items(): + for r in phase['cases']: + print(kind, r['fixture'], r['operation'], f"{r['delta_pct']:+.2f}%", 'REGRESSION' if r['separated_regression'] else 'GAIN' if r['separated_improvement'] else 'overlap') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-full.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-full.py new file mode 100644 index 0000000000..58ae74c62f --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-full.py @@ -0,0 +1,103 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics, sys + +work = Path(__file__).resolve().parent +bench = work.parents[1] +outputs = {} +total = 0 +full_recheck = recheck = options_only = with_full = False +repetitions = 7 +phases = ['full'] +for kind in phases: + d = bench / 'results' / ('quiet-' + work.name + ('-recheck-' if recheck else '-') + kind) + timings = [json.loads(x) for x in (d / 'timing.jsonl').read_text().splitlines()] + verifies = [json.loads(x) for x in (d / 'verify.jsonl').read_text().splitlines()] + summary = json.loads((d / 'summary.json').read_text()) + window = json.loads((d / 'window.json').read_text()) + assert window['quiet_gate_passed'] and window['finished_utc'] + assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 + assert len(timings) == 1400 and len(verifies) == 250 and len(summary) == 200 + assert not window['competing_workloads_before'] and not window['competing_workloads_after'] + assert 'results/' + d.name in window['command'] + patch = d / 'source.patch.gz' + raw = gzip.decompress(patch.read_bytes()) + m = json.loads((d / 'source.patch.json').read_text()) + assert hashlib.sha256(raw).hexdigest() == m['original_sha256'] + assert hashlib.sha256(patch.read_bytes()).hexdigest() == m['gzip_sha256'] + assert raw == (work / 'source.patch').read_bytes() + host = json.loads((d / 'host.json').read_text()) + remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' + if kind == 'access': + assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} + recorded = host['hashes'] + else: + assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' + recorded = host['sources'] + worker = 'options' if kind == 'options' else 'worker' + for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == hashlib.sha256((work / (arm + '-' + worker)).read_bytes()).hexdigest() + for path, digest in recorded.items(): + assert path.startswith(remote), path + local = bench / path.removeprefix(remote) + assert hashlib.sha256(local.read_bytes()).hexdigest() == digest, path + fixture_hashes = json.loads((d / 'fixture-hashes.json').read_text()) + staged = json.loads((work / 'remote-stage-hashes.json').read_text()) + assert len(fixture_hashes) == 19 + for path, digest in fixture_hashes.items(): + assert staged[path] == digest == hashlib.sha256((bench / path).read_bytes()).hexdigest(), path + expected = {(v['fixture'], v['operation']): v for v in verifies if v['engine'] == 'node'} + for v in verifies: + e = expected[v['fixture'], v['operation']] + keys = ['checksum', 'retained'] if kind == 'access' else ['verify_sha256', 'checksum', 'retained'] + assert all(v[k] == e[k] for k in keys), (kind, v, e) + declarations = {(c['fixture'], c['operation']): c for c in json.loads((work / 'full-cases.json').read_text())['cases']} + assert {(r['fixture'], r['operation']) for r in timings} == set(declarations) + for r in timings: + c = declarations[r['fixture'], r['operation']] + assert all(r[k] == c[k] for k in ['iterations', 'warmup']) + groups = defaultdict(list) + for r in timings: + e = expected[r['fixture'], r['operation']] + wanted = e['checksum'] / (e['iterations'] + e['warmup']) * (r['iterations'] + r['warmup']) + assert r['checksum'] == wanted and r['retained'] == 0, (kind, r, e) + groups[r['fixture'], r['operation'], r['engine']].append(r) + assert len(groups) == len(summary) + for s in summary: + rows = groups[s['fixture'], s['operation'], s['engine']] + assert len(rows) == repetitions and {r['rep'] for r in rows} == set(range(repetitions)) + if kind != 'access': + assert s['repetitions'] == repetitions + cpu = [(r['user_us'] + r['system_us']) / r['iterations'] for r in rows] + rss = [r['peak_rss'] / 1048576 for r in rows] + assert cpu == s['cpu_samples_us'] and rss == s['peak_rss_samples_mib'] + assert statistics.median(cpu) == s['cpu_us'] and statistics.median(rss) == s['peak_rss_mib'] + by_case = defaultdict(dict) + for s in summary: + assert s['engine'] not in by_case[s['fixture'], s['operation']] + by_case[s['fixture'], s['operation']][s['engine']] = s + assert len(by_case) == {'access': 12, 'focus': 15, 'options': 4 if recheck else 7, 'full': 5 if full_recheck else 50}[kind] + assert all(set(e) == {'baseline', 'perry', 'node', 'bun'} for e in by_case.values()) + comparisons = [] + for (fixture, operation), engines in by_case.items(): + a, b = engines['perry'], engines['baseline'] + peers = [engines[e] for e in ['node', 'bun']] + comparisons.append(dict( + fixture=fixture, operation=operation, engines=engines, + delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + paired_delta_pct=[(x / y - 1) * 100 for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])], + slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + separated_improvement=max(a['cpu_samples_us']) < min(b['cpu_samples_us']), + beats_both_peers=a['cpu_us'] < min(x['cpu_us'] for x in peers), + rss_beats_both_peers=a['peak_rss_mib'] < min(x['peak_rss_mib'] for x in peers), + all_samples_beat_both_peers=max(a['cpu_samples_us']) < min(min(x['cpu_samples_us']) for x in peers))) + outputs[kind] = {'window': window, 'timed_trials': len(timings), 'cases': comparisons} + total += len(timings) +assert total == 1400, total +(work / 'full-analysis.json').write_text(json.dumps({'trials': total, 'phases': outputs}, indent=2) + '\n') +print('VERIFIED', total, 'timed checksums and every CPU/RSS sample vector/median; all qualified quiet windows and patches') +for kind, phase in outputs.items(): + for r in phase['cases']: + print(kind, r['fixture'], r['operation'], f"{r['delta_pct']:+.2f}%", 'REGRESSION' if r['separated_regression'] else 'GAIN' if r['separated_improvement'] else 'overlap') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-options.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-options.py new file mode 100644 index 0000000000..65b4e7eab5 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-options.py @@ -0,0 +1,103 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics, sys + +work = Path(__file__).resolve().parent +bench = work.parents[1] +outputs = {} +total = 0 +full_recheck = recheck = options_only = with_full = False +repetitions = 7 +phases = ['options'] +for kind in phases: + d = bench / 'results' / ('quiet-' + work.name + '-large-options') + timings = [json.loads(x) for x in (d / 'timing.jsonl').read_text().splitlines()] + verifies = [json.loads(x) for x in (d / 'verify.jsonl').read_text().splitlines()] + summary = json.loads((d / 'summary.json').read_text()) + window = json.loads((d / 'window.json').read_text()) + assert window['quiet_gate_passed'] and window['finished_utc'] + assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 + assert len(timings) == 112 and len(verifies) == 20 and len(summary) == 16 + assert not window['competing_workloads_before'] and not window['competing_workloads_after'] + assert 'results/' + d.name in window['command'] + patch = d / 'source.patch.gz' + raw = gzip.decompress(patch.read_bytes()) + m = json.loads((d / 'source.patch.json').read_text()) + assert hashlib.sha256(raw).hexdigest() == m['original_sha256'] + assert hashlib.sha256(patch.read_bytes()).hexdigest() == m['gzip_sha256'] + assert raw == (work / 'source.patch').read_bytes() + host = json.loads((d / 'host.json').read_text()) + remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' + if kind == 'access': + assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} + recorded = host['hashes'] + else: + assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' + recorded = host['sources'] + worker = 'options' + for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == hashlib.sha256((work / (arm + '-' + worker)).read_bytes()).hexdigest() + for path, digest in recorded.items(): + assert path.startswith(remote), path + local = bench / path.removeprefix(remote) + assert hashlib.sha256(local.read_bytes()).hexdigest() == digest, path + fixture_hashes = json.loads((d / 'fixture-hashes.json').read_text()) + staged = json.loads((work / 'remote-stage-hashes.json').read_text()) + assert len(fixture_hashes) == 19 + for path, digest in fixture_hashes.items(): + assert staged[path] == digest == hashlib.sha256((bench / path).read_bytes()).hexdigest(), path + expected = {(v['fixture'], v['operation']): v for v in verifies if v['engine'] == 'node'} + for v in verifies: + e = expected[v['fixture'], v['operation']] + keys = ['checksum', 'retained'] if kind == 'access' else ['verify_sha256', 'checksum', 'retained'] + assert all(v[k] == e[k] for k in keys), (kind, v, e) + declarations = {(c['fixture'], c['operation']): c for c in json.loads((work / 'large-cases.json').read_text())['cases']} + assert {(r['fixture'], r['operation']) for r in timings} == set(declarations) + for r in timings: + c = declarations[r['fixture'], r['operation']] + assert all(r[k] == c[k] for k in ['iterations', 'warmup']) + groups = defaultdict(list) + for r in timings: + e = expected[r['fixture'], r['operation']] + wanted = e['checksum'] / (e['iterations'] + e['warmup']) * (r['iterations'] + r['warmup']) + assert r['checksum'] == wanted and r['retained'] == 0, (kind, r, e) + groups[r['fixture'], r['operation'], r['engine']].append(r) + assert len(groups) == len(summary) + for s in summary: + rows = groups[s['fixture'], s['operation'], s['engine']] + assert len(rows) == repetitions and {r['rep'] for r in rows} == set(range(repetitions)) + if kind != 'access': + assert s['repetitions'] == repetitions + cpu = [(r['user_us'] + r['system_us']) / r['iterations'] for r in rows] + rss = [r['peak_rss'] / 1048576 for r in rows] + assert cpu == s['cpu_samples_us'] and rss == s['peak_rss_samples_mib'] + assert statistics.median(cpu) == s['cpu_us'] and statistics.median(rss) == s['peak_rss_mib'] + by_case = defaultdict(dict) + for s in summary: + assert s['engine'] not in by_case[s['fixture'], s['operation']] + by_case[s['fixture'], s['operation']][s['engine']] = s + assert len(by_case) == {'access': 12, 'focus': 5, 'options': 4, 'full': 5 if full_recheck else 50}[kind] + assert all(set(e) == {'baseline', 'perry', 'node', 'bun'} for e in by_case.values()) + comparisons = [] + for (fixture, operation), engines in by_case.items(): + a, b = engines['perry'], engines['baseline'] + peers = [engines[e] for e in ['node', 'bun']] + comparisons.append(dict( + fixture=fixture, operation=operation, engines=engines, + delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + paired_delta_pct=[(x / y - 1) * 100 for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])], + slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + separated_improvement=max(a['cpu_samples_us']) < min(b['cpu_samples_us']), + beats_both_peers=a['cpu_us'] < min(x['cpu_us'] for x in peers), + rss_beats_both_peers=a['peak_rss_mib'] < min(x['peak_rss_mib'] for x in peers), + all_samples_beat_both_peers=max(a['cpu_samples_us']) < min(min(x['cpu_samples_us']) for x in peers))) + outputs[kind] = {'window': window, 'timed_trials': len(timings), 'cases': comparisons} + total += len(timings) +assert total == 112, total +(work / 'large-options-analysis.json').write_text(json.dumps({'trials': total, 'phases': outputs}, indent=2) + '\n') +print('VERIFIED', total, 'timed checksums and every CPU/RSS sample vector/median; all qualified quiet windows and patches') +for kind, phase in outputs.items(): + for r in phase['cases']: + print(kind, r['fixture'], r['operation'], f"{r['delta_pct']:+.2f}%", 'REGRESSION' if r['separated_regression'] else 'GAIN' if r['separated_improvement'] else 'overlap') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-recheck-options.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-recheck-options.py new file mode 100644 index 0000000000..4004ddd937 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-large-recheck-options.py @@ -0,0 +1,103 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics, sys + +work = Path(__file__).resolve().parent +bench = work.parents[1] +outputs = {} +total = 0 +full_recheck = recheck = options_only = with_full = False +repetitions = 11 +phases = ['options'] +for kind in phases: + d = bench / 'results' / ('quiet-' + work.name + '-large-recheck-options') + timings = [json.loads(x) for x in (d / 'timing.jsonl').read_text().splitlines()] + verifies = [json.loads(x) for x in (d / 'verify.jsonl').read_text().splitlines()] + summary = json.loads((d / 'summary.json').read_text()) + window = json.loads((d / 'window.json').read_text()) + assert window['quiet_gate_passed'] and window['finished_utc'] + assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 + assert len(timings) == 44 and len(verifies) == 5 and len(summary) == 4 + assert not window['competing_workloads_before'] and not window['competing_workloads_after'] + assert 'results/' + d.name in window['command'] + patch = d / 'source.patch.gz' + raw = gzip.decompress(patch.read_bytes()) + m = json.loads((d / 'source.patch.json').read_text()) + assert hashlib.sha256(raw).hexdigest() == m['original_sha256'] + assert hashlib.sha256(patch.read_bytes()).hexdigest() == m['gzip_sha256'] + assert raw == (work / 'source.patch').read_bytes() + host = json.loads((d / 'host.json').read_text()) + remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' + if kind == 'access': + assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} + recorded = host['hashes'] + else: + assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' + recorded = host['sources'] + worker = 'options' + for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == hashlib.sha256((work / (arm + '-' + worker)).read_bytes()).hexdigest() + for path, digest in recorded.items(): + assert path.startswith(remote), path + local = bench / path.removeprefix(remote) + assert hashlib.sha256(local.read_bytes()).hexdigest() == digest, path + fixture_hashes = json.loads((d / 'fixture-hashes.json').read_text()) + staged = json.loads((work / 'remote-stage-hashes.json').read_text()) + assert len(fixture_hashes) == 19 + for path, digest in fixture_hashes.items(): + assert staged[path] == digest == hashlib.sha256((bench / path).read_bytes()).hexdigest(), path + expected = {(v['fixture'], v['operation']): v for v in verifies if v['engine'] == 'node'} + for v in verifies: + e = expected[v['fixture'], v['operation']] + keys = ['checksum', 'retained'] if kind == 'access' else ['verify_sha256', 'checksum', 'retained'] + assert all(v[k] == e[k] for k in keys), (kind, v, e) + declarations = {(c['fixture'], c['operation']): c for c in json.loads((work / 'large-recheck-cases.json').read_text())['cases']} + assert {(r['fixture'], r['operation']) for r in timings} == set(declarations) + for r in timings: + c = declarations[r['fixture'], r['operation']] + assert all(r[k] == c[k] for k in ['iterations', 'warmup']) + groups = defaultdict(list) + for r in timings: + e = expected[r['fixture'], r['operation']] + wanted = e['checksum'] / (e['iterations'] + e['warmup']) * (r['iterations'] + r['warmup']) + assert r['checksum'] == wanted and r['retained'] == 0, (kind, r, e) + groups[r['fixture'], r['operation'], r['engine']].append(r) + assert len(groups) == len(summary) + for s in summary: + rows = groups[s['fixture'], s['operation'], s['engine']] + assert len(rows) == repetitions and {r['rep'] for r in rows} == set(range(repetitions)) + if kind != 'access': + assert s['repetitions'] == repetitions + cpu = [(r['user_us'] + r['system_us']) / r['iterations'] for r in rows] + rss = [r['peak_rss'] / 1048576 for r in rows] + assert cpu == s['cpu_samples_us'] and rss == s['peak_rss_samples_mib'] + assert statistics.median(cpu) == s['cpu_us'] and statistics.median(rss) == s['peak_rss_mib'] + by_case = defaultdict(dict) + for s in summary: + assert s['engine'] not in by_case[s['fixture'], s['operation']] + by_case[s['fixture'], s['operation']][s['engine']] = s + assert len(by_case) == {'access': 12, 'focus': 5, 'options': 1, 'full': 5 if full_recheck else 50}[kind] + assert all(set(e) == {'baseline', 'perry', 'node', 'bun'} for e in by_case.values()) + comparisons = [] + for (fixture, operation), engines in by_case.items(): + a, b = engines['perry'], engines['baseline'] + peers = [engines[e] for e in ['node', 'bun']] + comparisons.append(dict( + fixture=fixture, operation=operation, engines=engines, + delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + paired_delta_pct=[(x / y - 1) * 100 for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])], + slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + separated_improvement=max(a['cpu_samples_us']) < min(b['cpu_samples_us']), + beats_both_peers=a['cpu_us'] < min(x['cpu_us'] for x in peers), + rss_beats_both_peers=a['peak_rss_mib'] < min(x['peak_rss_mib'] for x in peers), + all_samples_beat_both_peers=max(a['cpu_samples_us']) < min(min(x['cpu_samples_us']) for x in peers))) + outputs[kind] = {'window': window, 'timed_trials': len(timings), 'cases': comparisons} + total += len(timings) +assert total == 44, total +(work / 'large-recheck-options-analysis.json').write_text(json.dumps({'trials': total, 'phases': outputs}, indent=2) + '\n') +print('VERIFIED', total, 'timed checksums and every CPU/RSS sample vector/median; all qualified quiet windows and patches') +for kind, phase in outputs.items(): + for r in phase['cases']: + print(kind, r['fixture'], r['operation'], f"{r['delta_pct']:+.2f}%", 'REGRESSION' if r['separated_regression'] else 'GAIN' if r['separated_improvement'] else 'overlap') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-retained.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-retained.py new file mode 100644 index 0000000000..7919f50356 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-retained.py @@ -0,0 +1,80 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics + +w = Path(__file__).resolve().parent +bench = w.parents[1] +d = bench / 'results' / ('quiet-' + w.name + '-retained') +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +read = lambda name: json.loads((d / name).read_text()) +rows = lambda name: [json.loads(x) for x in (d / name).read_text().splitlines()] +window = read('window.json') +assert window['quiet_gate_passed'] and window['finished_utc'] +assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 +assert not window['competing_workloads_before'] and not window['competing_workloads_after'] +assert 'results/' + d.name in window['command'] +host = read('host.json') +assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' +for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == sha(w / (arm + '-worker')) +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' +for path, digest in host['sources'].items(): + assert path.startswith(remote) and sha(bench / path.removeprefix(remote)) == digest +staged = json.loads((w / 'remote-stage-hashes.json').read_text()) +assert all(sha(bench / path) == digest for path, digest in staged.items()) +fixtures = read('fixture-hashes.json') +assert len(fixtures) == 19 +for path, digest in fixtures.items(): + assert staged[path] == digest == sha(bench / path) +raw = gzip.decompress((d / 'source.patch.gz').read_bytes()) +assert raw == (w / 'source.patch').read_bytes() +patch = read('source.patch.json') +assert hashlib.sha256(raw).hexdigest() == patch['original_sha256'] +assert sha(d / 'source.patch.gz') == patch['gzip_sha256'] +verification, memory, summary = rows('verify.jsonl'), rows('memory.jsonl'), read('summary.json') +assert len(verification) == 180 and len(memory) == 1008 and len(summary) == 144 +expected = {(r['fixture'], r['operation'], r['case_iterations']): r + for r in verification if r['engine'] == 'node'} +assert len(expected) == 36 +for r in verification: + e = expected[r['fixture'], r['operation'], r['case_iterations']] + assert all(r[k] == e[k] for k in ['checksum', 'retained', 'verify_sha256']) + assert r['retained'] == r['iterations'] + r['warmup'] +groups = defaultdict(list) +for r in memory: + e = expected[r['fixture'], r['operation'], r['iterations']] + assert r['warmup'] == 0 and r['retained'] == r['iterations'] + assert r['checksum'] == e['checksum'] / (e['iterations'] + e['warmup']) * r['iterations'] + assert r['peak_rss'] > 0 and r['rss_after'] > 0 and r['rss_before'] > 0 + groups[r['fixture'], r['operation'], r['iterations'], r['engine']].append(r) +cases = defaultdict(dict) +for s in summary: + key = s['fixture'], s['operation'], s['iterations'], s['engine'] + chosen = sorted(groups[key], key=lambda r: r['rep']) + assert [r['rep'] for r in chosen] == list(range(7)) and s['repetitions'] == 7 + metrics = dict(cpu=[(r['user_us'] + r['system_us']) / r['iterations'] for r in chosen], + peak_rss=[r['peak_rss'] / 1048576 for r in chosen], + rss_after=[r['rss_after'] / 1048576 for r in chosen], + rss_before=[r['rss_before'] / 1048576 for r in chosen]) + for name, values in metrics.items(): + unit = 'us' if name == 'cpu' else 'mib' + assert values == s[name + '_samples_' + unit] + assert statistics.median(values) == s[name + '_' + unit] + assert s['engine'] not in cases[key[:3]] + cases[key[:3]][s['engine']] = s +out = [] +for (fixture, operation, count), engines in cases.items(): + assert set(engines) == {'perry', 'baseline', 'node', 'bun'} + a, b = engines['perry'], engines['baseline'] + out.append(dict(fixture=fixture, operation=operation, count=count, engines=engines, + cpu_delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + cpu_slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + cpu_separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + rss_after_delta_mib=a['rss_after_mib'] - b['rss_after_mib'], + peak_rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + rss_after_separated_regression=min(a['rss_after_samples_mib']) > max(b['rss_after_samples_mib']), + rss_after_beats_both_peers=a['rss_after_mib'] < min(engines[e]['rss_after_mib'] for e in ['node', 'bun']))) +assert len(out) == 36 +(w / 'retained-analysis.json').write_text(json.dumps(dict(window=window, trials=1008, + verification_trials=180, note='Whole-process RSS with live retained outputs, not isolated heap size.', cases=out), indent=2) + '\n') +print('Verified all 1008 retained-output trials, 180 complete-output checks, all vectors and provenance.') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-rotating.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-rotating.py new file mode 100644 index 0000000000..bc56dca366 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-rotating.py @@ -0,0 +1,78 @@ +from collections import defaultdict +from pathlib import Path +import gzip, hashlib, json, statistics + +w = Path(__file__).resolve().parent +bench = w.parents[1] +d = bench / 'results' / ('quiet-' + w.name + '-rotating') +read = lambda name: json.loads((d / name).read_text()) +rows = lambda name: [json.loads(x) for x in (d / name).read_text().splitlines()] +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +window = read('window.json') +assert window['quiet_gate_passed'] and window['finished_utc'] +assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 +assert not window['competing_workloads_before'] and not window['competing_workloads_after'] +assert 'results/' + d.name in window['command'] +host = read('host.json') +assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} +assert host['worker_sha256'] == sha(w / 'candidate-rotating-worker') +assert host['baseline_worker_sha256'] == sha(w / 'main-rotating-worker') +assert host['commit'] == json.loads((w / 'provenance.json').read_text())['source_commit'] +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' +for path, digest in host['source_sha256'].items(): + assert path.startswith(remote) + assert sha(bench / path.removeprefix(remote)) == digest +stage = json.loads((w / 'remote-stage-hashes.json').read_text()) +for f in host['fixtures']: + for i, digest in enumerate(f['sha256']): + path = '.work/rotating/' + f['fixture'] + '.' + str(i) + '.json' + assert stage[path] == digest == sha(bench / path) +patch = gzip.decompress((d / 'source.patch.gz').read_bytes()) +assert patch == (w / 'source.patch').read_bytes() +pm = read('source.patch.json') +assert hashlib.sha256(patch).hexdigest() == pm['original_sha256'] +assert sha(d / 'source.patch.gz') == pm['gzip_sha256'] +verify = rows('verify.jsonl') +expected = {(x['fixture'], x['mode'], x['iterations']): x for x in verify if x['engine'] == 'node'} +for x in verify: + e = expected[x['fixture'], x['mode'], x['iterations']] + assert x['correct'] and x['exit_code'] == 0 + assert x['verified_members'] == list(range(8)) + assert all(x[k] == e[k] for k in ['checksum', 'last_sha256', 'verify_sha256']) +timing = rows('timing.jsonl') +calibration = rows('calibration.jsonl') +assert len(timing) == 420 and len(calibration) == 60 and len(verify) == 100 +for x in timing + calibration: + e = expected[x['fixture'], x['mode'], 9] + assert x['exit_code'] == 0 and x['retained'] == 0 and x['peak_rss'] > 0 + unit = e['checksum'] / (e['iterations'] + e['warmup']) + assert x['checksum'] == unit * (x['iterations'] + x['warmup']) +groups = defaultdict(list) +for x in timing: + groups[x['fixture'], x['mode'], x['engine']].append(x) +cases = defaultdict(dict) +for (fixture, mode, engine), samples in groups.items(): + samples.sort(key=lambda x: x['rep']) + assert [x['rep'] for x in samples] == list(range(7)) + assert len({x['iterations'] for x in samples}) == 1 + cpu = [(x['user_us'] + x['system_us']) / x['iterations'] for x in samples] + rss = [x['peak_rss'] / 1048576 for x in samples] + cases[fixture, mode][engine] = dict(iterations=samples[0]['iterations'], cpu_samples_us=cpu, + cpu_us=statistics.median(cpu), peak_rss_samples_mib=rss, peak_rss_mib=statistics.median(rss)) +output = [] +for (fixture, mode), engines in cases.items(): + assert set(engines) == {'perry', 'baseline', 'node', 'bun'} + assert len({e['iterations'] for e in engines.values()}) == 1 + a, b = engines['perry'], engines['baseline'] + delta = (a['cpu_us'] / b['cpu_us'] - 1) * 100 + slower = sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])) + regression = min(a['cpu_samples_us']) > max(b['cpu_samples_us']) + improvement = max(a['cpu_samples_us']) < min(b['cpu_samples_us']) + output.append(dict(fixture=fixture, mode=mode, engines=engines, delta_pct=delta, + slower_pairs=slower, separated_regression=regression, separated_improvement=improvement)) + print(f'{fixture} {mode}: {delta:+.2f}%, {slower}/7 slower; ' + + ('REGRESSION' if regression else 'GAIN' if improvement else 'overlap')) +assert len(output) == 15 +(w / 'rotating-analysis.json').write_text(json.dumps(dict(trials=420, calibration_trials=60, + verification_trials=100, window=window, cases=output), indent=2) + '\n') +print('Verified all 420 timing, 60 calibration, 100 full-output checks, hashes and quiet window.') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-small-rotating-recheck.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-small-rotating-recheck.py new file mode 100644 index 0000000000..2ee42ec9b1 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-small-rotating-recheck.py @@ -0,0 +1,78 @@ +from collections import defaultdict +from pathlib import Path +import gzip, hashlib, json, statistics + +w = Path(__file__).resolve().parent +bench = w.parents[1] +d = bench / 'results' / ('quiet-' + w.name + '-small-recheck-rotating') +read = lambda name: json.loads((d / name).read_text()) +rows = lambda name: [json.loads(x) for x in (d / name).read_text().splitlines()] +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +window = read('window.json') +assert window['quiet_gate_passed'] and window['finished_utc'] +assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 +assert not window['competing_workloads_before'] and not window['competing_workloads_after'] +assert 'results/' + d.name in window['command'] +host = read('host.json') +assert host['versions'] == {'node': 'v26.5.1', 'bun': '1.3.14'} +assert host['worker_sha256'] == sha(w / 'candidate-rotating-worker') +assert host['baseline_worker_sha256'] == sha(w / 'main-rotating-worker') +assert host['commit'] == json.loads((w / 'provenance.json').read_text())['source_commit'] +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' +for path, digest in host['source_sha256'].items(): + assert path.startswith(remote) + assert sha(bench / path.removeprefix(remote)) == digest +stage = json.loads((w / 'remote-stage-hashes.json').read_text()) +for f in host['fixtures']: + for i, digest in enumerate(f['sha256']): + path = '.work/rotating/' + f['fixture'] + '.' + str(i) + '.json' + assert stage[path] == digest == sha(bench / path) +patch = gzip.decompress((d / 'source.patch.gz').read_bytes()) +assert patch == (w / 'source.patch').read_bytes() +pm = read('source.patch.json') +assert hashlib.sha256(patch).hexdigest() == pm['original_sha256'] +assert sha(d / 'source.patch.gz') == pm['gzip_sha256'] +verify = rows('verify.jsonl') +expected = {(x['fixture'], x['mode'], x['iterations']): x for x in verify if x['engine'] == 'node'} +for x in verify: + e = expected[x['fixture'], x['mode'], x['iterations']] + assert x['correct'] and x['exit_code'] == 0 + assert x['verified_members'] == list(range(8)) + assert all(x[k] == e[k] for k in ['checksum', 'last_sha256', 'verify_sha256']) +timing = rows('timing.jsonl') +calibration = rows('calibration.jsonl') +assert len(timing) == 132 and len(calibration) == 12 and len(verify) == 20 +for x in timing + calibration: + e = expected[x['fixture'], x['mode'], 9] + assert x['exit_code'] == 0 and x['retained'] == 0 and x['peak_rss'] > 0 + unit = e['checksum'] / (e['iterations'] + e['warmup']) + assert x['checksum'] == unit * (x['iterations'] + x['warmup']) +groups = defaultdict(list) +for x in timing: + groups[x['fixture'], x['mode'], x['engine']].append(x) +cases = defaultdict(dict) +for (fixture, mode, engine), samples in groups.items(): + samples.sort(key=lambda x: x['rep']) + assert [x['rep'] for x in samples] == list(range(11)) + assert len({x['iterations'] for x in samples}) == 1 + cpu = [(x['user_us'] + x['system_us']) / x['iterations'] for x in samples] + rss = [x['peak_rss'] / 1048576 for x in samples] + cases[fixture, mode][engine] = dict(iterations=samples[0]['iterations'], cpu_samples_us=cpu, + cpu_us=statistics.median(cpu), peak_rss_samples_mib=rss, peak_rss_mib=statistics.median(rss)) +output = [] +for (fixture, mode), engines in cases.items(): + assert set(engines) == {'perry', 'baseline', 'node', 'bun'} + assert len({e['iterations'] for e in engines.values()}) == 1 + a, b = engines['perry'], engines['baseline'] + delta = (a['cpu_us'] / b['cpu_us'] - 1) * 100 + slower = sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])) + regression = min(a['cpu_samples_us']) > max(b['cpu_samples_us']) + improvement = max(a['cpu_samples_us']) < min(b['cpu_samples_us']) + output.append(dict(fixture=fixture, mode=mode, engines=engines, delta_pct=delta, + slower_pairs=slower, separated_regression=regression, separated_improvement=improvement)) + print(f'{fixture} {mode}: {delta:+.2f}%, {slower}/11 slower; ' + + ('REGRESSION' if regression else 'GAIN' if improvement else 'overlap')) +assert len(output) == 3 +(w / 'small-rotating-recheck-analysis.json').write_text(json.dumps(dict(trials=132, calibration_trials=12, + verification_trials=20, window=window, cases=output), indent=2) + '\n') +print('Verified all 132 timing, 12 calibration, 20 full-output checks, hashes and quiet window.') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-zero-retained.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-zero-retained.py new file mode 100644 index 0000000000..b3638f07c2 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/analyze-zero-retained.py @@ -0,0 +1,80 @@ +from pathlib import Path +from collections import defaultdict +import gzip, hashlib, json, statistics + +w = Path(__file__).resolve().parent +bench = w.parents[1] +d = bench / 'results' / ('quiet-' + w.name + '-zero-retained') +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +read = lambda name: json.loads((d / name).read_text()) +rows = lambda name: [json.loads(x) for x in (d / name).read_text().splitlines()] +window = read('window.json') +assert window['quiet_gate_passed'] and window['finished_utc'] +assert json.loads((d / 'controller-exit.json').read_text())['exit_code'] == 0 +assert not window['competing_workloads_before'] and not window['competing_workloads_after'] +assert 'results/' + d.name in window['command'] +host = read('host.json') +assert host['node_version'] == 'v26.5.1' and host['bun_version'] == '1.3.14' +for engine, arm in [('perry', 'candidate'), ('baseline', 'main')]: + assert host['workers'][engine] == sha(w / (arm + '-retained-zero')) +remote = '/Users/perry/json-codex-yHdsko/benchmarks/json_performance/' +for path, digest in host['sources'].items(): + assert path.startswith(remote) and sha(bench / path.removeprefix(remote)) == digest +staged = json.loads((w / 'remote-stage-hashes.json').read_text()) +assert all(sha(bench / path) == digest for path, digest in staged.items()) +fixtures = read('fixture-hashes.json') +assert len(fixtures) == 19 +for path, digest in fixtures.items(): + assert staged[path] == digest == sha(bench / path) +raw = gzip.decompress((d / 'source.patch.gz').read_bytes()) +assert raw == (w / 'source.patch').read_bytes() +patch = read('source.patch.json') +assert hashlib.sha256(raw).hexdigest() == patch['original_sha256'] +assert sha(d / 'source.patch.gz') == patch['gzip_sha256'] +verification, memory, summary = rows('verify.jsonl'), rows('memory.jsonl'), read('summary.json') +assert len(verification) == 40 and len(memory) == 224 and len(summary) == 32 +expected = {(r['fixture'], r['operation'], r['case_iterations']): r + for r in verification if r['engine'] == 'node'} +assert len(expected) == 8 +for r in verification: + e = expected[r['fixture'], r['operation'], r['case_iterations']] + assert all(r[k] == e[k] for k in ['checksum', 'retained', 'verify_sha256']) + assert r['retained'] == r['iterations'] + r['warmup'] +groups = defaultdict(list) +for r in memory: + e = expected[r['fixture'], r['operation'], r['iterations']] + assert r['warmup'] == 0 and r['retained'] == r['iterations'] + assert r['checksum'] == e['checksum'] / (e['iterations'] + e['warmup']) * r['iterations'] + assert r['peak_rss'] > 0 and r['rss_after'] > 0 and r['rss_before'] > 0 + groups[r['fixture'], r['operation'], r['iterations'], r['engine']].append(r) +cases = defaultdict(dict) +for s in summary: + key = s['fixture'], s['operation'], s['iterations'], s['engine'] + chosen = sorted(groups[key], key=lambda r: r['rep']) + assert [r['rep'] for r in chosen] == list(range(7)) and s['repetitions'] == 7 + metrics = dict(cpu=[(r['user_us'] + r['system_us']) / r['iterations'] for r in chosen], + peak_rss=[r['peak_rss'] / 1048576 for r in chosen], + rss_after=[r['rss_after'] / 1048576 for r in chosen], + rss_before=[r['rss_before'] / 1048576 for r in chosen]) + for name, values in metrics.items(): + unit = 'us' if name == 'cpu' else 'mib' + assert values == s[name + '_samples_' + unit] + assert statistics.median(values) == s[name + '_' + unit] + assert s['engine'] not in cases[key[:3]] + cases[key[:3]][s['engine']] = s +out = [] +for (fixture, operation, count), engines in cases.items(): + assert set(engines) == {'perry', 'baseline', 'node', 'bun'} + a, b = engines['perry'], engines['baseline'] + out.append(dict(fixture=fixture, operation=operation, count=count, engines=engines, + cpu_delta_pct=(a['cpu_us'] / b['cpu_us'] - 1) * 100, + cpu_slower_pairs=sum(x > y for x, y in zip(a['cpu_samples_us'], b['cpu_samples_us'])), + cpu_separated_regression=min(a['cpu_samples_us']) > max(b['cpu_samples_us']), + rss_after_delta_mib=a['rss_after_mib'] - b['rss_after_mib'], + peak_rss_delta_mib=a['peak_rss_mib'] - b['peak_rss_mib'], + rss_after_separated_regression=min(a['rss_after_samples_mib']) > max(b['rss_after_samples_mib']), + rss_after_beats_both_peers=a['rss_after_mib'] < min(engines[e]['rss_after_mib'] for e in ['node', 'bun']))) +assert len(out) == 8 +(w / 'zero-retained-analysis.json').write_text(json.dumps(dict(window=window, trials=224, + verification_trials=40, note='Whole-process RSS with live retained outputs, not isolated heap size.', cases=out), indent=2) + '\n') +print('Verified all 224 retained-output trials, 40 complete-output checks, all vectors and provenance.') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-results.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-results.py new file mode 100644 index 0000000000..e6ebd66ae1 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-results.py @@ -0,0 +1,33 @@ +from pathlib import Path +import gzip,hashlib,json,shlex,subprocess,sys +w=Path(__file__).resolve().parent;bench=w.parents[1];slug=sys.argv[1];kind=sys.argv[2];remote='/Users/perry/json-codex-yHdsko/benchmarks/json_performance';host='perry@perry-macos.local' +assert kind in ['access','focus','options','full','rotating','retained'] and slug.startswith('quiet-'+w.name+'-') and slug.endswith('-'+kind) +allow_failed = '--allow-failed-window' in sys.argv +code="""from pathlib import Path +import json,shutil +root=Path(REMOTE);w=root/'.work'/WORKNAME;d=root/'results'/SLUG +window=json.loads((root/'results/window-custom.json').read_text());assert (window['quiet_gate_passed'] or ALLOW_FAILED) and window.get('finished_utc') and 'results/'+SLUG in window['command'] +d.mkdir(parents=True,exist_ok=True) +for source,name in [(root/'results/window-custom.json','window.json'),(root/'custom.log','controller.log')]:shutil.copy2(source,d/name) +for name in ['processes-before.txt','processes-after.txt']:shutil.copy2(root/'results'/name,d/name) +for name in ['run_dispatch_focus.py','with_lock.py']:shutil.copy2(root/name,d/name) +shutil.copy2(root/'results/fixtures.json',d/'fixtures.json') +shutil.copy2(w/'fixture-hashes.json',d/'fixture-hashes.json') +for name in ['provenance.json','source.patch','main-build-provenance.json','main-reuse-provenance.json','main-fixture-validation.json','build-provenance.json','main-workers-provenance.json','candidate-workers-provenance.json','candidate-fixture-validation.json','candidate-options-validation.json','main-options-validation.json','root-comparison.json','main-roots.json','candidate-roots.json','lazy-main-probes.json','lazy-candidate-probes.json','run-access.py','run-focus.py','run-options.py','run-rotating.py','run-retained.py','options-worker.ts','options-worker.js']:shutil.copy2(w/name,d/name) + +for name in ['run-changing-options.py','changing-options-worker.ts','changing-options-worker.js','main-changing-workers-provenance.json','candidate-changing-workers-provenance.json','main-changing-options-validation.json','candidate-changing-options-validation.json','main-zero-validation.json','candidate-zero-validation.json','main-zero-roots.json','candidate-zero-roots.json','zero-root-comparison.json']:shutil.copy2(w/name,d/name) +for name in ['run-zero-retained.py','retained-zero-worker.ts','retained-zero-worker.js','main-retained-zero-workers-provenance.json','candidate-retained-zero-workers-provenance.json','main-retained-zero-validation.json','candidate-retained-zero-validation.json']:shutil.copy2(w/name,d/name) +for name in ['main-changing-roots.json','candidate-changing-roots.json','main-retained-roots.json','candidate-retained-roots.json','additional-root-comparison.json']:shutil.copy2(w/name,d/name) +if (w/'run-rotating-recheck.py').exists():shutil.copy2(w/'run-rotating-recheck.py',d/'run-rotating-recheck.py') +shutil.copytree(w/'harness',d/'harness',dirs_exist_ok=True) +shutil.copy2(root/'.work/rotating/manifest.json',d/'rotating-manifest.json') +print(window['started_utc'],window['finished_utc']) +""".replace('REMOTE',repr(remote)).replace('SLUG',repr(slug)).replace('WORKNAME',repr(w.name)).replace('ALLOW_FAILED',repr(allow_failed)) +subprocess.run(['ssh',host,'python3 -c '+shlex.quote(code)],check=True) +subprocess.run(['rsync','-a',host+':'+remote+'/results/'+slug+'/',str(bench/'results'/slug)+'/'],check=True) +d=bench/'results'/slug;p=d/'source.patch';raw=p.read_bytes();data=gzip.compress(raw,compresslevel=9,mtime=0);assert gzip.decompress(data)==raw +p.with_suffix('.patch.gz').write_bytes(data);p.with_suffix('.patch.json').write_text(json.dumps({'original_bytes':len(raw),'original_sha256':hashlib.sha256(raw).hexdigest(),'gzip_sha256':hashlib.sha256(data).hexdigest()},indent=2)+'\n');p.unlink() +for name in ['run-zero-retained.py']: + p=d/name;raw=p.read_bytes();data=gzip.compress(raw,compresslevel=9,mtime=0);assert gzip.decompress(data)==raw + (d/(name+'.gz')).write_bytes(data);(d/'run-zero-retained.source.json').write_text(json.dumps({'original_path':name,'original_bytes':len(raw),'original_sha256':hashlib.sha256(raw).hexdigest(),'gzip_sha256':hashlib.sha256(data).hexdigest(),'note':'Lossless archive encoding preserves the exact measured source, including trailing whitespace.'},indent=2)+'\n');p.unlink() +print('ARCHIVED',slug,flush=True) diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-validation.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-validation.py new file mode 100644 index 0000000000..8c4502ef02 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/archive-validation.py @@ -0,0 +1,36 @@ +from pathlib import Path +import hashlib, gzip, json + +work = Path(__file__).resolve().parent +bench = work.parents[1] +dest = bench / ('results/' + work.name + '-validation') +dest.mkdir(exist_ok=False) +entries = [] +allowed = {'.py', '.json', '.ts', '.log', '.stdout', '.stderr', '.ll', '.md', '.rs', '.txt', '.diff', '.patch', '.js', '.s', '.gz', '.commit'} +for source in sorted(work.rglob('*')): + if source.name in {'next-read.patch', 'cached-read-next.rs', 'next-read-candidate.md'}: + continue + if not source.is_file() or source.suffix not in allowed or '__pycache__' in source.parts: + continue + relative = source.relative_to(work) + raw = source.read_bytes() + compressed = source.suffix in {'.log', '.stdout', '.stderr', '.ll', '.s', '.patch', '.diff'} or source.name in {'callback-only.ts', 'run-zero-retained.py'} + name = str(relative) + ('.gz' if compressed else '') + target = dest / name + target.parent.mkdir(parents=True, exist_ok=True) + data = gzip.compress(raw, compresslevel=9, mtime=0) if compressed else raw + target.write_bytes(data) + assert (gzip.decompress(data) if compressed else data) == raw + entries.append(dict(path=name, original_path=str(relative), original_bytes=len(raw), + original_sha256=hashlib.sha256(raw).hexdigest(), + sha256=hashlib.sha256(data).hexdigest(), compression='gzip' if compressed else None)) +manifest = dict(measured_source_commit=json.loads((work / 'provenance.json').read_text())['source_commit'], + note=(work / 'validation-verdict.txt').read_text().strip(), + files=entries) +(dest / 'manifest.json').write_text(json.dumps(manifest, indent=2) + '\n') +for entry in entries: + data = (dest / entry['path']).read_bytes() + assert hashlib.sha256(data).hexdigest() == entry['sha256'] + raw = gzip.decompress(data) if entry['compression'] else data + assert len(raw) == entry['original_bytes'] and hashlib.sha256(raw).hexdigest() == entry['original_sha256'] +print('VERIFIED', len(entries), 'validation artifacts;', sum((dest / e['path']).stat().st_size for e in entries), 'bytes') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/base.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/base.json new file mode 100644 index 0000000000..6967a1b27d --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/base.json @@ -0,0 +1,4 @@ +{ + "base_commit": "64ad28045e3ac04700f7683e8b4941f734cf66c1", + "reference_name": "R24" +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-changing-worker.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-changing-worker.py new file mode 100644 index 0000000000..111dd61809 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-changing-worker.py @@ -0,0 +1,15 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys +root=Path(__file__).resolve().parents[4];w=Path(__file__).resolve().parent +main='--main' in sys.argv;arm='main' if main else 'candidate';build=w/('frozen-main' if main else 'frozen-build') +clean={k:v for k,v in os.environ.items() if not k.startswith('PERRY_')};records=[] +shared=w.with_name('materialized-read-r23') +sources=[('changing-options', w/'changing-options-worker.ts')] +for name,source in sources: + binary=w/(arm+'-'+name);obj=w/(arm+'-'+name+'.o') + commands=[[str(build/'perry'),'compile',str(source),'--no-auto-optimize','--no-cache','--no-link','-o',str(obj)],['cc',str(obj),str(build/'libperry_runtime.a'),'-lc','-Wl,-dead_strip','-Wl,-no_exported_symbols','-o',str(binary)]] + for i,cmd in enumerate(commands): + with (w/(arm+'-'+name+'-build-'+str(i)+'.log')).open('wb') as log:subprocess.run(cmd,cwd=root,env=clean|{'PERRY_RUNTIME_DIR':str(build)},stdout=log,stderr=subprocess.STDOUT,check=True,timeout=180) + records.append({'worker':name,'commands':commands,'files':{str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [source,obj,binary,build/'perry',build/'libperry_runtime.a',build/'libperry_stdlib.a']}}) + print('BUILT',arm,name,flush=True) +(w/(arm+'-changing-workers-provenance.json')).write_text(json.dumps(records,indent=2)+'\n') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-command-result.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-command-result.json new file mode 100644 index 0000000000..0e47ce7162 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-command-result.json @@ -0,0 +1,4 @@ +{ + "exit_code": 0, + "elapsed_seconds": 771.9000627994537 +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-provenance.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-provenance.json new file mode 100644 index 0000000000..87c665a8e4 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-provenance.json @@ -0,0 +1,38 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "started_utc": "2026-09-11T08:07:26.907894+00:00", + "elapsed_seconds": 772.918557882309, + "files": { + "perry": { + "sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "bytes": 117699680, + "mtime": 1789114817.6951404 + }, + "libperry_runtime.a": { + "sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "bytes": 36882752, + "mtime": 1789114576.8744931 + }, + "libperry_stdlib.a": { + "sha256": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c", + "bytes": 86373008, + "mtime": 1789114782.166196 + } + }, + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-release.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-release.py new file mode 100644 index 0000000000..5ec996ed94 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-release.py @@ -0,0 +1,32 @@ +from pathlib import Path +import datetime, hashlib, json, os, shutil, subprocess, time, sys +main = "--main" in sys.argv +root=Path(__file__).resolve().parents[4];work=Path(__file__).resolve().parent +commit=subprocess.check_output(['git','rev-parse','HEAD'],cwd=root,text=True).strip() +assert not subprocess.check_output(['git','status','--porcelain'],cwd=root) +if (work/'hold-production').exists():raise SystemExit((work/'hold-production').read_text()) +command=['cargo','build','--release','-p','perry','-p','perry-runtime-static','-p','perry-stdlib-static'] +env={k:v for k,v in os.environ.items() if not k.startswith('PERRY_')} +# Refresh only mtimes so cargo emits all three production artifacts in this window. +refreshed=['crates/perry/src/main.rs','crates/perry-runtime-static/src/lib.rs','crates/perry-stdlib-static/src/lib.rs'] +for p in refreshed:os.utime(root/p,None) +started=time.time() +(work/'build-start.json').write_text(json.dumps({'source_commit':commit,'started_unix':started,'command':command,'mtime_only_refresh':refreshed},indent=2)+'\n') +with (work/('main-build.log' if main else 'build.log')).open('wb') as log: + result=subprocess.run(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) +(work/'build-command-result.json').write_text(json.dumps({'exit_code':result.returncode,'elapsed_seconds':time.time()-started},indent=2)+'\n') +if result.returncode:raise SystemExit(result.returncode) +assert subprocess.check_output(['git','rev-parse','HEAD'],cwd=root,text=True).strip()==commit +assert not subprocess.check_output(['git','status','--porcelain'],cwd=root) +frozen=work/('frozen-main' if main else 'frozen-build');frozen.mkdir(exist_ok=False) +files={} +for name in ['perry','libperry_runtime.a','libperry_stdlib.a']: + source=root/'target/release'/name; dest=frozen/name + assert source.stat().st_mtime>started,(name,'stale production artifact') + shutil.copy2(source,dest) + sha=hashlib.sha256(source.read_bytes()).hexdigest() + assert hashlib.sha256(dest.read_bytes()).hexdigest()==sha + files[name]={'sha256':sha,'bytes':source.stat().st_size,'mtime':source.stat().st_mtime} +meta={'source_commit':commit,'command':command,'started_utc':datetime.datetime.fromtimestamp(started,datetime.timezone.utc).isoformat(),'elapsed_seconds':time.time()-started,'files':files,'mtime_only_refresh':refreshed} +(work/('main-build-provenance.json' if main else 'build-provenance.json')).write_text(json.dumps(meta,indent=2)+'\n') +print(json.dumps(meta,indent=2),flush=True) diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-retained-zero-worker.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-retained-zero-worker.py new file mode 100644 index 0000000000..2a615df9d5 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-retained-zero-worker.py @@ -0,0 +1,15 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys +root=Path(__file__).resolve().parents[4];w=Path(__file__).resolve().parent +main='--main' in sys.argv;arm='main' if main else 'candidate';build=w/('frozen-main' if main else 'frozen-build') +clean={k:v for k,v in os.environ.items() if not k.startswith('PERRY_')};records=[] +shared=w.with_name('materialized-read-r23') +sources=[('retained-zero', w/'retained-zero-worker.ts')] +for name,source in sources: + binary=w/(arm+'-'+name);obj=w/(arm+'-'+name+'.o') + commands=[[str(build/'perry'),'compile',str(source),'--no-auto-optimize','--no-cache','--no-link','-o',str(obj)],['cc',str(obj),str(build/'libperry_runtime.a'),'-lc','-Wl,-dead_strip','-Wl,-no_exported_symbols','-o',str(binary)]] + for i,cmd in enumerate(commands): + with (w/(arm+'-'+name+'-build-'+str(i)+'.log')).open('wb') as log:subprocess.run(cmd,cwd=root,env=clean|{'PERRY_RUNTIME_DIR':str(build)},stdout=log,stderr=subprocess.STDOUT,check=True,timeout=180) + records.append({'worker':name,'commands':commands,'files':{str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [source,obj,binary,build/'perry',build/'libperry_runtime.a',build/'libperry_stdlib.a']}}) + print('BUILT',arm,name,flush=True) +(w/(arm+'-retained-zero-workers-provenance.json')).write_text(json.dumps(records,indent=2)+'\n') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-start.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-start.json new file mode 100644 index 0000000000..18f3b5fdab --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-start.json @@ -0,0 +1,20 @@ +{ + "source_commit": "01f2878dad8efc92e394c49b88fe0800b871f593", + "started_unix": 1789114046.9078941, + "command": [ + "cargo", + "build", + "--release", + "-p", + "perry", + "-p", + "perry-runtime-static", + "-p", + "perry-stdlib-static" + ], + "mtime_only_refresh": [ + "crates/perry/src/main.rs", + "crates/perry-runtime-static/src/lib.rs", + "crates/perry-stdlib-static/src/lib.rs" + ] +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build-workers.py b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-workers.py new file mode 100644 index 0000000000..7e7faf75aa --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/build-workers.py @@ -0,0 +1,15 @@ +from pathlib import Path +import hashlib,json,os,subprocess,sys +root=Path(__file__).resolve().parents[4];w=Path(__file__).resolve().parent +main='--main' in sys.argv;arm='main' if main else 'candidate';build=w/('frozen-main' if main else 'frozen-build') +clean={k:v for k,v in os.environ.items() if not k.startswith('PERRY_')};records=[] +shared=w.with_name('materialized-read-r23') +sources=[(n,shared/'harness'/(n+'.ts')) for n in ['worker','access-worker','rotating-worker']]+[('options',shared/'options-worker.ts')] +for name,source in sources: + binary=w/(arm+'-'+name);obj=w/(arm+'-'+name+'.o') + commands=[[str(build/'perry'),'compile',str(source),'--no-auto-optimize','--no-cache','--no-link','-o',str(obj)],['cc',str(obj),str(build/'libperry_runtime.a'),'-lc','-Wl,-dead_strip','-Wl,-no_exported_symbols','-o',str(binary)]] + for i,cmd in enumerate(commands): + with (w/(arm+'-'+name+'-build-'+str(i)+'.log')).open('wb') as log:subprocess.run(cmd,cwd=root,env=clean|{'PERRY_RUNTIME_DIR':str(build)},stdout=log,stderr=subprocess.STDOUT,check=True,timeout=180) + records.append({'worker':name,'commands':commands,'files':{str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [source,obj,binary,build/'perry',build/'libperry_runtime.a',build/'libperry_stdlib.a']}}) + print('BUILT',arm,name,flush=True) +(w/(arm+'-workers-provenance.json')).write_text(json.dumps(records,indent=2)+'\n') diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/build.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/build.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..aa6fa03dddd2c34059c51aec852751308c6ba803 GIT binary patch literal 527 zcmV+q0`UDGiwFP!00002|E*NZZrd;ryz46l=*0p|y;}ERw7C@M2NY;8L26Od%3&&z z0!i6Tn~(2ORuUvJda@1@MDEV)EN2PeiycPYYqQ5l&fN<)nV<*4p~yB_xp`k=m4El- zd@hH6+UKLQccg;P=kWZ_TO$T?duqk#%A%;MTsawN33$XylcRKoX}0Jlqk^^uwWFR6 z(u7@OfA5^N!Pn3ph7RN~d1@2zBg7TXLFV46oHH}$w`EZk+YfU%9+LQn2XqE+8CEG6 z?+2+*lh=Rf3V)ZZ`1<+gd4!xlpJ8mEE$VmIQO&9)+3u8WDZQz&8l?-c-P7)5q6FSb z!D5?xwA9I|56N>Y>KB3-qt{J}JsFC6Ta;KrBme7@n#Puc+{I36!As9^EfoqMWYFr; z=2&3QGW*bSQ!d7Mf;-1_DT@E7xODqopw7Jbs*U!yY@K+H?D_Tv zK{9Gs`4rlqtOjgK|7^=}OXzIh+vBW2s$X(X9?F^^IX*g`V`RWl_dOcoF^hFGE4y6s zfQQNP4Z_0WnDa<{n|#>DLX;S!a#nEp)>SxES&@}%&To0{4`uc-E0WWU1q)AvW2A}o zaB|br;Bh2J>v%iN%TZIjN`yGE3T+hkUIyW4v@Xr@PRn=|ts6eApjo64 Rn&+-g{sH8|0B{=x002OP30eRE literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/callback-only-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/callback-only-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..e0abe5bd1d072c82eda2b944c6e95c6dcfaca4b7 GIT binary patch literal 57 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-8mutation26resolve_materialized_array.s.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-8mutation26resolve_materialized_array.s.gz new file mode 100644 index 0000000000000000000000000000000000000000..e369af446c068af8be63a0a005fd706df8e7c2ba GIT binary patch literal 3230 zcmV;P3}N#hiwFP!00002|HWMEZ``;M|7`yiTjXQoGoKQbUJtNi_mU!U0>^jlp$G(u zqU=5IE0X;D>nmwjLsE}jr;W4*?tp+JX=eDFCx?4@{9C5e>{!lcch|?Obor-Nd3Lfdn`Sc0^gNn9 zO_s?dE0~%t7n3l&I{)|8>oCmqWB%sw5Uu|T&OG5`sU|;%;pN5sMShXL&FJ;z>f7@4 z_T#&Gh-oEJnBFb&>0AdD>$zNMF~7@Y`EKH+I$O@}by#qt)2Wj_$s9^lP~yN) z5{ptelm*cvMTU}Elr^U^j@OhxQ&V5Nk+O>7!82C>B%qFiesrIds z#60DK9M#(mAK2_RX2_>L6M}L~DA_zt5VH5Z{3u4S2AHs5zWzYr-eyan+bb*xsx^>j z`9ZC-+EfWfju4w=zm`RR143quHUlYWpoWv8fG9|T1$gCjt?Y`0#8>4W{v579bv;`~ zau%+mWw?%(VV;E{HZM}Pe-@>C7L5=bA_*B?|3D;hL zfb6urzo?Nm5N6369XtdT2+XSO>mSyd1BbwjF)y?+12mv9V{VL@sSeI74uuhb*W%^H zE^P#`_sU1ZF{>Ex%AHKeX4UKj7cKt^OR7uLV=?a;h=Aia5_m=ek2NJAAc7|x=UTp@ z_OPh5Eub@^-b^i*G9;*|0hN#XKouEK`L^koG{9ysAe-9aQuM$nGMnM6UN{NV38#^m z7i=4x0waMC{csZMWpD~m7o0pipye>nm`=d@;G_+l0?`MjNDPR2qzs#?2T$7UhD5!1 zlB^R?V{tFVHb5y$1l13y2)ztY5$gt&7!puM)=2aL3S)yPsN0)}qTY~xG%`l6P!FQ8 zm3t`G3n|r|Ta3oO+6Jk_h!CTGNX6`BkcvfTIWd;3vD4()B)gTAH3hT@A`9>XCb`Tv zNiK978r*q?JF!RZAX}NOKOWIoC+6c@KketUEWBCfm=ymD?-oj`8y&;D6SO0}PuTAC zJ`vl}`$YAp_Y`$DMT)e0IMqtfEJeK;^H(5ovLM?)iAAKEt&&ocLA{Lon;O(A^KUG> zve(_*`DYkn$4;XL6pENso45WgBehwB@iH#lE32T2mfUgplHEg+e!y0j- zZRP!N?HegY`}FUWIyvZuw@t0@V2p~E5X1=4NJ4S9gQpDb)4@~5`haBmJd_FB&#pCs zoNfzHJy390?-9^%F?+)POvUzCkT~UZoC7?p+v(t9|SC^u6WPnfK8{O7y!BAcDcsHknoKS zeBHBf*W68=TbsKO$bT_oUUZivI`!7(OwcqdEd6?#6&w}JtQQR*%I^E4X5XKYA@$)K zeds2}NAC2#XwRwXIFX`+gjdkQq6T7u) zr5FWO?MfJO#xR0SF3E5cB!uvQ!b6s&-PTVr#brGL-~pv*sOKSoCAClGFx;QKGTcmF zi*#1S=w+=H!xkaQGF1*Q;Y>b186F(a3o9F7*rccnHyz+~Kn)eCBydOCzMLmR_L`Y8 z-)3EN1{m>pJ!kOw{POaT@a>0_FJHpXm!GaaUH$R-Jp9MWm#gsC-%c*izJ%{Den0u} z{_N!H{46~EBm8)N_3qPI@s-4ntbL~;db5v1r0x(Ur%Vl*UE_G4x; z812ypG;kPolu^%ZfG!wnjc0*PvChMb(Uin~(BKMVsz*t63dT6vswB?(mBdBYNZx2l z;{62^^O^+{kyKjlU@Kb~Fn7^=85l1 zZH#*x@tIOV9T=~F|EKHhN*K z`^i^2NbEaO3y)i@4aw0Xr9cH={<2 z{X(=4(Ty_`TaL1LfcAMJ!tDzKaE6ZDBXk}(uA+T{PSubHZ`k72G2Zefd&x=LctN`o zwGoXPfR_DLH{FH{` zQ}OQ)#XqBSjHZiezUJxTZSkH{5@LL<^KhAl<JulMf|Dn34{&b;IJ=cp|&cgD?#-Pxzs(?_ce0r}9 z!>S*}e)~47722Gi18}-iBlYmSj^6{=^zf{>>Rht<8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-access-worker-build-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..6c283518d3016f1c6ccd51bd10bbf3b39076137d GIT binary patch literal 308 zcmV-40n7d$iwFP!00002|CLb7PQx$|yyq+Sg49aHP9nIZrwRcQDkokCgsP3bP2DDT zwCfhZfp5o&!Uu5N*_qjyy$M}MCOY3jAMB|kQA%ZZ;p8opGqjLpod%E5o#_$^c)&A0 z8FoX=?#UD5q&LCRC?1IUs|M%ufrB9t*lb=Op+R$`6nH={u@HzX-8t z?7LH|Q>t+#db+6(5`5khw`5b`bfKzrL*DFroV_eTgkjSDhk@pCNH#gEcsb zHcx+SwvBbo6(>;-V&Ky-VkY}e?h5_rkMAVtGnkdQaRO3Qzan6))I42})q>$G6srXg zKdW;LzMKJ%V9Nz*T{Bi`@a8ltyu@dCNGn~yS$PB1{vPmBJpe-)7iChi5}BwRh6ngk zU&qN-)2N@D4|w(KIKy83W;H()j&@q8UJB+qNmWyRuZrjCybrrwI(;NxJEU_5Bp&X7 zr5lXFlY+H-u_NnAd7>euC)4OJV4s0{_hb6M6~v)v8s{1#gi<{S%6SQX z#jt!1Cd_m2xk$9HBoG4*3ywFnLM{;93kVlsu#gI3L5MLE30l99c*ND_^)guM5mGwd zGDo?t1(PY^>FV+;2-d!kcou}UqgiuN=r$FyD+u{_ia}4oTrvUS=~u;FBdBJ)ZndG@ z$ZwEaO>;45whdS=24dTQ=VH)q8#K8XblV0Z7X!I%(B@*$ZyR)(7&P=yXelgkMk!Yo voP;v2Y8_230xS(wu2((n+P3aHlP0TDDKw`+sl~+h-?ha*FZ;=xeG&iws}0Q~ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-array-get.s.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-array-get.s.gz new file mode 100644 index 0000000000000000000000000000000000000000..b685f425a163d2648d61565bfc20c2bac9226f42 GIT binary patch literal 6065 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 j@B)Ef??5Gb=6xoZ5bmIglE=AlD#)tdnTcfi%c literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-callback-only-auto-scheduled.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..e0abe5bd1d072c82eda2b944c6e95c6dcfaca4b7 GIT binary patch literal 57 zcmb2|=3oE;rvInU>YqO2ecjjZ%t=o#pL1a=!cOUUo(y ztRt@jvm#ht>?x(98DbzG#ky9Nx|n3|qv>PJ z*bvYDU|?<8%9aw0t{|_<^6UyqRYGeS$YCecT*2-0HT;~^Np>wl5n5!sCW$l9FG4{y zwyxjkgtSY2MUM;hPCOSag$*@{HpSPq=ESf(?bphn+0tnmhh$NMDO*_H53TdibF?iL zp50+G^nVLJ63{o9KH|#J{|Q#aX4_)e%lN%alWQMRBSTt!`LNeV3cipIO+qL_J=F%e mu?@jgvQ+4?`&wc^);{>qu0RRA&bfH=R literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/.perry-trace/llvm/changing_options_worker_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..f7dea00d094ce4cd6d0b9a698e7ff32d38b09ab3 GIT binary patch literal 65792 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�lZq>4!c~ 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 R;Oz{O&Ud7myoHeq001qSN`?Rc literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..392d02fbe0d9c869fa0f53eadd9502e018abb63a GIT binary patch literal 505 zcmV5>ujALGtuX~&rW$>)jTykp31PhQ6Vwb5V3~X6zdfiX@~($(Vfcy=G1{R~4* zbarIovwd(UX#~%H{|;iUCcf^+u<}zz-!z- v`v;B?bYadL@3AAHkUF66{+^f#`iMyzMkUA^r)-Fo{b-2a?FT;N!~_5U3-#}Z literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/rewrite.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/rewrite.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/zero.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-native/zero.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..728f1842240048d68681de104de91da64d5b6929 GIT binary patch literal 81783 zcmV)7K*zryiwFP!00002|Lnc{bL=*9Kl;1>iYe!&GOj(=YG$O7boOplPVD2v-+0$s zwv&6eHmNBNiJ76rA!$A&jZ^vGFS-GcAc;qV(#dY!iYr;^h@WmW-VLB1zgzsFNZO2j z`}N}Yi+}j-ztya&e;b{%_W0YfDt=~hQ~$PPRdxC8&vlW1d1lp-C0~}+>iT-U{_URS z@#!2@k2QYYapa+>&QTt--(Ecz)#Gn}WmWNIT}E-5AHS^Dx4(^}JV}$NVPD3lC_loV z)9TASYSJf8gGGJWR1s&8Wl!hdD$uSdo3zO59dKpUuBorG>>oa>i?)i{?vQ3IkIszO z;d5lMJ7cXr|E!6)z|Dde7-i9=Xd8gAFVF9bFU$4a_5015{~!Fi>VI9o-`?>5`!bb3 zR_pus{QtkqH}K`lAK~|J_&+-CO_i1z79Le+j)+SB&o9qWT+}bC+pFuV>(4*?Oh~kd z>ht3BtGw7HEJ}7YkS=z+@4ox@KkR;NqWJL-QCV~JKiVt4yW&(=*Sxs0N}qU3F4`O_ zpX{O}sTMH@H&Na!{<2zc7cYzS{y!J-=l>HutNK$){H2iis;U3unm2&IMpyew!)ijk zZo6uAWtLf#=CpEF)N(dmF=;|$y{59h>sa%Fdu&cL_8W2w-Ar2u`ioY~O?U$xh<$uZ zu0hYc;uGZ?KEZ#yAhpfmp2qx+%6#21zov1%r*eMiIRDpwtkFZ0~ zurrbWZ8-lYR;7mvk^eTF|G$6y;oEQiOyqwT-unOg@#CL}+=E7BOWdT^1Yx)R_I_yd z82BuB0n4~(^XB~`Z_j&HeW89?{MUb6e^~JUGOn@I?U@&F{X6-m^srbKe2b5e$M1j7 zRl(uT`VU`p{|;9q+{~d$&j~d@Q8#k6iEKefw68A%9k^X{#K#07@?VfBN{t4}aeM z_~$?T)A!%){`AB5{NF$QdH3yCyN`eR{;PlCeA!FGsyxaT$E?`%A6#u#RR8?d?oZ!; z_ucNp4}bXhwF$aeE9h6>efaUm-8bKU{O;@Bw}1TZ+dqEX{qw(l_~Gl_*Wdp5;h(-U zliv@ixpY5$|I?rU^l|sihaZ0u^gnWL|Nh~-Z@>QV)7$Xa{nMX!fB5**zkF}v_LuGL z?M6;Z#h3r@?)!iGKOevPY4_cSKY#ykKmEA-@W(&9TSEYMAHM$j2i_*%{q*q%V_~?k zY;U@vIME;fSrPy6@vHB-?Cyd-{P4pE-kX2?`s4pAD*UGpKm7~2$pkev+3s5|fTZ+Sy~`0A%`|NZ0cD_)VG+>-yx z_do4^`tj@Czkd9)dl3HgVfU}Rg1fIiaIr|u_;2@W2-0bIDgXZM$NxtR7@I)iYzi}Z zcWk37*})pKv+o6*Pnu6!U~#QDiN84*>~^p{Nz$Zf_xuEU{c`usH(y=%|E&Vpt>2d2 z?c1{32Cz$GCoBDYEm@XLg{v@?!>%l{%dUyi?A5&1uja6MJ%=}}&+V%@Y+uje4eN9N zY7P&t=kSL0S*>2r;`ME^e*Gj|zkcSdZ(h&h^`mwD`sUm?o6~`kHbL_qP1jZ_ID=#{6#HnBVOi^V_~Lzq>c)cmKxx9^QI9zxf1t>lw0o>nXB& z>p8M|>q)YD>shjT>uItIoF|_pEY6~eEuM-rS^VSA_3jw&(mZXJUl_hMmy#vB17pcP ziXV69=(1LbLK6F-a?37&t+x z4Rdv$@3JC}I4;c-_Od$^)si38T-=eUmtD!?C4qL0+p1!DoU+d%h;Vp11 zs>>2f5re|i3l%%2H6KAcbsM;YdqZfnCXI)}(#hx0$yZrZ!NFXJPq@W%nq}hF(ZQ@NaA8Dl zi@&=LWyr~NZbw+&Bu7~jWNIuQtP*x&ect8lc~?B=ERhR@TqWfHXu}jMO=7n%_!xP1 zaU3%1tD(UXM(Gnv$hz{Bvs^YxE#}VUtWB@-mhx;i-V2{8$$N8pwgR0u* zbRl*`v`_hR&iF=l*xvNRa9-hZYuw)KqUtEF<9uQaNt$9;MbB>|2LG2ujJM!Al=Ss% zSD!-G)u#|uj$C&St6@GN8TatGj54aCGm;Is8@J0tRz!_uFmKj|GVaab^xlA7Z7tx{ z)-L@NZIolU${5jbUt~n@+rxotZ(z_7SdOHGJ!O}%JVZjiA*FRl2bElpDfVFe z=IkYT=6E)qkNA13QhL{$`xr7vXDb6tw7@!dXeE_Q(B%E60WO;hZDu2Cn0rAq2t zbf{G9LMY;bflh9v7}h|ji&$q@YY&O)l()S`X(m?%3IP?V-U8%y7A&B(sgg!XGEjxx zM1nuijN~J>Vtk6y+;k`%!TG_OANhR9cPGX*O%sh=o+XVqOc#d$D5{r3 zMc7VM7JQh%A(0PFWZ)f=b(Y3#Ina$A;CA1iVCV$;0P=TlU1n)RXn(}*a%PxPH|pmhGv}x>HQHnWa?e!0yPn`glE+Ig ztl~Oo;)m7gG54d=bDJ&65|+jD6l~Ix<0#AE-Vc7Q7~j*l$m~#5{P|nM$4||#bw9;6)RL`5M%B?XTKVUiHCN>|))>xnh%NH$vWTOSGh?-o zoNuxBYLi|q(({=!=R)4RnULVw;S}^-JTZ`zBrJRdj^>(-YjJBj?!c=q8i4upH zm!#&hWvnUkB?XQ0tHC;?HI~`G>_|5Fswn7p`?RU`6U(5#jFj*oqNvNJvJ#JlKiW#A zih2;Mtt`y>3S}r#r*=LjDq`Na&64zp*$I2en-go&7;b|3_MSI&7y~GB7x9DhO!|l~ zbeAv^dA15HrYfGhN7togv`xtPDT)6(frmx7OdCJann&J*%M+_=UMlCq74(wCOkF@~ z&0J(p7FIjhl)^>|EH0cdxIrRN2ExgXEC=tCqMBQxm%(`Iwz-(}S;m;S6=jYqKo=Dk zX`ki^?JZgI0S?#pt8N{(^54e|;9MMjn&RUi<7#^t?V5f^pp$J(WCn8Em=$x+GgK{Q z-?+-ASK*ezhR$vq!j8`NZVp>I`}^0hrx)|^7R3Zii0ij3FQDAjrzkg|{Pm|SKR}Mn z|AZU?^4$DS$`c^h?O#K#0Qt6mP5B&WM817QVC-mokm>Y>4h5E(F<2=$4s!y0NHb|~ z<;K|`HBC6McyeK-y&N07x=ucd6VsV*@zIejJ)DHelErFmihktUj80-cn^;7Oqqb(# z0!a+8VBJ2?B87X}qM*e`uF;PIwmBS^O&I0c(icg@kpv{Y5Usm8i-CTC!zI17` zU9)q@3tsp@eU(RfKNrD3w11H>1Fh@+h95|YPj(Wmt{$Y_CEiy{jxXz;XZUk?4jgJUwaL?$U6XR< zx{1!Eed*$8e1^lgi*QpOI~D{hjl~zm%|jZag%vy|npHA;N$aN83pH&Pa8Dae<+HYW zkM8{DD1FW;`HbV+K)u^%#hywd4Q91sgDLw?3>u_53#~h5^Ef|(S6^_o&rT|>w~@cC zvrRC+XO%|Q=2@CQk_X606mNaO@s7m20|xnpal(vTL>5qn)dtHO|E zcgUh+*oqLB0fm+GSDyHE=2{WGs1q3K8sKiSY(8C(cxYb<+a;OeFoOge+dF*^;I2S~ z23GSB(wxI7b0ANy!@SAW;vPSvtLG9Pf(WMz;L|Kh+^Xi0Lc1Pn@)|0kp{pot;r4B2 zhy_oRFksM-81F}JbbUD!2uAHBX_TGVGWfn*4hF~8X+wr~Oh-IRDWk8{Sy2b5iH?CB zG@AlUc>Z@BUt0v~(AHi^k~d(%rjTI^1)c-KI8GiKMZyiZD{{rB!o8bFT(Key9Sjjmu9I%!iqd}H6K#P>{axK!)wSZ28QNvdpoD<8JOke zV3-GypyzO4=d_ul7K_uXN1<{muJWbAb1$reg|!-3@zXBB_Gunf?m;M@fNXCC69>J* z8uw;!7oQ}a7bS@rzehTd`n#`}ZU1U(eGdRwOM`W1=L<-&DQg*aXc+*jjens zItuS5C4sI69UGFitfSh9iD>lET@6Cx^e^ZXies~F$ zpc8Q2^k;}*rMb-eURc5LsCbr+)b3Cf1D|UzR7TGmGAGJ|l*6)I@$Dq(QF}`7B z8Ct$a)v+c&N%Q|bduqiI!Y7Gax|YkZ}@;Au>`DIpghp{6jiN%=Yyh6a3urQhlZ4YB#G|TQf zSVEn86||z*xU83RuJCQ#Hm`aZuyMUv&i2?a1|F_UIAJesUfL3w=7)j^P1wGrvK5B& zG%SW1HbS*lYnwFNVT#y>1Tu#sc2n}1QL>n(9UuX=2yg2Eiga?7=oIM0sE@P)A<^e_HV2*O3>7)!XOs(+?L5+RR0g1*S@al4 z(jU;t1%#1!4`@Sp#g3r;hAcG0Fer3FLmZPi#K9}M3=xg`a0r>$bHg_rvHb?qsZDqW zA?)F0mGT3k(Qw2{sWO;`Ob~fQkIt-y48`H%KC(+VQCwZhrqFy|h+4)=;N%xxR87!8 z!6zFES+~s&bTiU5T}OGuH?E4gujw2bU(c%cvvROh*H2s^mOt4KgyMT2r`M8?O7d_g zKLQ&LXJK7ZtCzGvcX7Ncreci??c}W7n4Rp*IB^D+u6C*GTs5V~^j$=p`S9M|Im@cX z&&ks9nJe^9p2jNE#E0-h+7fKVU6RO9UmiXZReN9}B;~Hfa1xedPyGF# z3}i_tBah1ZR5ZRi3sXiDiMI=mF$@zhW17Szu>-}!aRBGKDasIh#o#(}=^r@$D}mwY zA>ng)km?-Q?NWg1(WY5~kG-nh?Oc_{uyp&Wa;UIphL|A%{NXSqC?|3+ncEP_S9r738RxHyYP>t+hJQQmb~r3urDrKxnNR=qNga$ zaJ!S?f8B7{x%jSyVG&3KGTR{6&mdnV6y)1t@HNvwMX3#1nB{TQ9#0L|4q}Ek*j;4O z&KT1#0fh^xeZh$Ejd=0Zwe{}MptO-tM-r%zb*)sR9*9st+VAZT6;og>W`C3`>EsYnENBVqR5?&OQLaBQ#0C z$JC`BO$WwH+7JZAn|Ghmd5-Ew3dVciqR>U|i3y}nUu8m0Bq=&eL@%@ibBa8;1VsiV zh0>xmyDK8yU}B3+lG>MJk{x5!riRbY;~3L;T3=!eR9@rl>vV;3|41W3lsv_Db0C zAs|!FnYbU1sQh?Pi<>l;mvQ7`hGhI)@RU}xrH;L@_$llqR$188s@Np~eSj#5U?Io% zWlYvEr$}VdD}R)7d$i$d&PmywG-e3e#rsB8ov=3Mka2>awjYV}u5S2(vh-q#w()~l zWjjqtS85UcAEuV(iE6&bQ+N>1zm1OYVT;v>xP%a%OJX^g^M{0O^NJm)Y>7bS+-I@R zZ7zInMNQ+r;0BoHuIWAg177zG_1ofsX_`3Dwcs?SUw{z?r>X;GjFPc@s0Q)n8)tj= zZjusQ70*PZd0=;;3^_iF8Zebwnm(rYPdXBUm?SR$jYKp znpi-%UD6<^8zjER3!tbqrnX@*;4D*cEa}j2VS35}0#sJ1J1lh9f<8ke|Q>#Cr>HX44c6&7U%DqU1P%%?#Fm4`)E9(p0dSE|8QVn$`f^B{Sc-LXSf zP&v+mL)0=1K637$(5azCPfINcL6Ob+v1kfY|BGwM&kBfPAN*NmS75;EtEtB)ZRZ4=Y$2;jg@0g`}@5#mrg2haiSj_Bx zFEdlFO55D|wa9_s;JZ+luHG0R+!ps^a8Ay48SRB1p^OYY(zzZ9o_ScWaiUBIF0JQa zA+o$bWEj$Q`BEGapsh5vAo_B%66-7KgWn%|uV7DV8-rSlu-YZKnP5hdnD$~C9i!8<;d`9H!ezIYGXnIO@Lc_@QdT<mc95#X=H50Q})zF}Ms85j1819OLc74Kqk3jz5$&1H=9UnJ9`*h=YM|9GFKa z(6I|?!JAmT3bC??-MbqOteJ%&t+%kjAcsf3C_Z`eGz^A4jl?h!&_owhYR`UiilEq zKAmLaC(bqnjSn4AN!{L~1DdNR#c7q8wGYRglVH#%ekW!k#DMxhmF8B3hccfuKF0eD zA44S-p8iW;+QA-$&duIy1`U6RFcPAH&O;0Yy9N@3>%uu7DtkIrD*9tj)XPA6k#dQi z3u#gTJg!fe5Q)3sytF*ZqgL!57MH;k9!q?+J4rH-bxGx84Sa`LpabmbzK zAvLDpR)JsmREST5hyjFXXL{I|9iQuXV|qBGOK*I&C`sTM+IG6oLA&&z{0ZC#Q|SqT zM@5NstUo#$j$91ursyM5z~&m$?~bLr_&b)h=V#$ z!it3J(ukMwxyoB?>6N!X_RCvWY6Ut5?LG*9ZnGeKl0Jp;FT&*Cr%jXxlMpkPX%sJk zB=so^#0QI%d%R(~_ow1Hh;>VqMT9PjS#j_Om*}yooWLS>IiwZNgwa8Ds+VSSB56e> z9;?8oHBV&f-KFI%(?Zk7K?tMMVH}rj0J7SV~{0+=|rApD)d`AeXO{Tvw=A zeHt^-UN~J>J5BN{1Pm=Ju%Ftq6=&U}fwBulqfw1EQEsfxucebUT3!`X;c zh;TH5bKe=Zb(8px@_WUt#W=g21{{@TcA+O17vyq=;L%|)@cP-}NZd+cr^_{E>N$ay zm|g*$ogrEdA)0cxVsxtj`NFneH!R6g{S$e-^q8w{K9~p&Q~4FEaX+{#gvVLMYkIKq zWDo5KF@8s{RxkcUnuGA>S>amUSBt&#D1s& zun5m5F9%HL*(g7HLG>kXq8BeKCS#l1fRpByL9=wbUaX){s$7)n^c7C2PQSbnHCr=L zLjpO{4bc8kRWVU0L^{@b6KDF4ufgdt2PvH8VhGh4)dlZ{FuG^9mtj!SEMvzgBg_X; zR?k|H=yjvCk{mvg1sJ>6MfN0u-n|7U-v0JD9e6F8p5dZ11*fW-h}5Q_=e!|fw@5=N zT9{jyx364{}oW8ev3vaPaXzf8CKQ{ z+F+n~>_q2%3i@ruereOnw$7WugWbnTs5BN4CwOGG`lXQ7Bvccu^21MBxC6I^;5hT40MqqC3ZX0*-5AfNhGyTh`YkMRQiiks-@w&XIrD*zpC ztBQ-~M%zgXtHUrhz58`f-Yggmk&GB$%_P`u8Z`v@SYmEWNY&%?PX^F)ns3%2&?K$I z?Vk_0k7^c%gqusE6dY;d-6h!QfDjsT&sWg4AqbK~gz(IsAxeXyd50e+1CzTuNZKp)If~=`;=S7?OJ*Y6)tW^tteyd-D#b*AC)#GWQr2YqWm( z-QpX0TeJAkG*$h6kr&F63x36869%v=Dt-*EIW8{_6=VDd1TW@4+MKsjvVde0EuZ3` z056`?EUQ@4R{26kCCiJPmp5*wEPFa%WySGIGhA5w-Rf^fuJzxlV5{rDNy*qt`8O$7 zo#ua&a>YeGk;}Puy0+pVjntxx>JXo@K~pnaIwxM-dI1fFYO(wCXp1i5!S_H5c;i5( zwF5jAQrHPuGd^m-ffd8h#@T$>Q@%*}lj^vHaqp;LbZaAGWwOyAVI)nEOzwtPR)Q}q zruoZ4mYcLri`=hQ^hA)aDrb;EjA(HrJ-L?7^xPtk1+PFwN#>1_^>ZS!jt-2(93?f) zt}%uW4U>VP$$brb87-@^(dxh~UxcQ`3uO$@YA_Wr+Te_n@Wt7$raYb#*xqvkj3}57_wY9b1+h*o4oD>I@Mdb*Uv*wIo`PHWIm! z0s)={ZPJTk3Wx? zn%d*KjHs6G3v(T<%vdQ-7jk*g$(1dr)lNji9xY*q3~bSE3$tE%+-xUAeV%C>Nqete zMu-G@8GRb=&gji&P^FVw6r5`lN*JT~jeI#3L0J=T;}y%uC8nEIw;|0}x>m#(@FIjH$CX=D{jNC~=6 z#a(eviALq%*kK9wGpgy70Y4xVRWk6IwVLD(+6#QI3VWC`iIwS54r!L{S~V~2<9J8~ zj(o0jjy`_<{*xm#$&1oV6W~j!GaxubS|%s@_CqiVkJFKnW)Mb=LWy>*d;=jmZw^S? zy?(^kHwf=)B$ZxBkWf75A$oFWRR>we&_jxBbI?V>f^;OX9EC>P9WtnAGsueKu`SIK zPzdW_LbT&~&Sl6jG*aQUAlj#D1}%NIwz_Hewo3ra0o3jX8Py@PQJ1aH8F|glsV|)` z8W7y)wS1N?y;CC+o<#77a9&cOa1~V5fpF!dLZ>^-py}cR2UE&ezH{loX0#1z7D@Qb z_GFS%k;B~@C^*&A(CCXuhh^F_1sJ8g&})>W5kGlhsw+szo#!m04-zel0G$YIDMP?A z?LbI3MVY@6B6E(7#Jt|f9b33ylU%~w_M1&nx=@mjv~Gr+c-?lhzw8Vz1~vyM>0>6W z-#v~qHlHm}I@$&^8%_Q0{VJ%JZ4^U{X{FNG8PlsP<5yaJd?>rB)juX^XYVUFgN@oO zyS`6Y9am{db^P_SaR(Tmg(PFrf>ZQ%>G-oxZ=gA;b}ctCV69^G)&0`GaO#RVw@ zz#^8S+AwuJok*-JV4ia85=d{L1QjG&QFtu_C!HtgNF9$U$An(~IE414_2HF)5i1|2{_NR99WSirjji(`q2-W{lDgS6-ok7|#bk3C1 zt@Ag+?J2Oo+`}xCd#rqcS7hPm4;rh6wQx-YV8&<}I z@di^AxS4|Y@a0~(D;Aj1gfc967+9^~sxIy$-R3Rg2v-$t zSudSj0XMwmw48S^a@YjykNI`%lD#gSG1<`TJByC>k`!JZsq};@Ga}Q^BUejN9x&5J zw8>=-vAnyP&p=dqe&Mg7mvf{e4$VP;m46E!ujoBd|HJE=&rLpD!@j>_+*I4;Rqo#qUAEw5FW+A!|HDd@$9?_%_J^i6+76qg+rS2 z#`bcPFi)01ce6O z@Hg8ACc{J2r)Yhgjqj7F`!chm2>bP`- zxgAEz$Go#L6|SD!#}c|{T%;5nqudjVo$!#RuSN!hT}Fyf?jMuGdem%&s|}ka}?C}!misf5%TAskjIX@KSW%?*`mOL?|ZLymBEQZ4ZMzU_f0L>1qqC6?ia{Uzs zr4;c8WMLbPByHO?Sq5OA?v@mZ(!2@TzIrO^?ltAXbsxO60;eB*qzmfIQ&gXvo!O6+ zdPy6}5Ke{d+@0bjpWPhNo^zHAI_*4dLN0)O22>)=3}JB|ECE4!-GDM=-RPs+CF#)_ zM{G(VV{F-9K!eJcmT%6t&?yyY7t0x?35{U+3V9RG;faaN((}pRs_~@8FiVixr243v zL;qZf>`$-hhBha13E=)~mhROA-d9DFrRWHB#sJ6xyAm3A&t1NB93V#ih{B>+&&*DXpv1%2h+tXXi19Pf-TW2BgES zTH9gmA-1MmZ-{6XC**!Is(e9%1Kn?e6-ST}EdO}TX6^y@p?8j)Zrsw}sPja#XVdO+ zVj^il$th_rC4+pDnxK0OI7L-w*TF zm8{~QID-FDLvY-*xh$`)u8idX(wbocpJHBOCQMq*w$?1F%ox>B;78?V!Z3drUrzYW zaWNuzDO`CsAoRI|EgIz)`%LS?5Xezv@yORc%g~-LEN-QPoyqkV2Dxx9cYcK|V-S!x zF~L-PBM&#swFW`pDTPAQm%MvN?jn{VJ?K%%9<-c;fPz%HPoUuDNyd!p)1FUSt`F&G zJ^@&i;N6N6(@3hVOeSfRYaoi;zjX~GTwBfdWQO;mZKydkO(a?<0Yc773|V|Wvm_lz zYR`W=1-oMxAT1~SR`w^MMqSs3RY^==Tq1rFZDKTwLVzxf1)=I`cXNTYNVUF2X&a%t zni1h$TYGduJ$SJz(8B~L|4>hJ5F6(Wf{jrOMi{?OyaW>b;YZ%!l5pe!Zg>8cc(_9b z(Or!$9i5<0t-Y>cl!c@hmla16&O0hbg@+MvDZ&XvRv@2;ydo3s^b`;T4`oCsRcMW| zjYdC|N-CeVk%n6@{hn(Ijz*l0tXo6eNGY0D4b}rEA|I*9)36JA;#!OUfG=``#sa(m z(`0DW6U<|nu}HHb3FTpuCWHxOd)03_=2gd>b$K2eV>T!21nkd-U7TjuAnoB`IYvd} z5em03RE(vHWwYNNiR5^N6ZRB`T;_`LE7C%2k5!z!ZR#D|duPnS|5)t<(ZpV(_lgB) zXs=cBxLE|1W8jVn)v?4q#&wx2fwnz~^CW{9P2Rnsx($?4(10-Csz_;t+S_$Gz>zfy zXV=n^)rP%el3#oXv}49&H32!w|KSlX01oHP0CX>O0F}HL#Nk=ht`jRi&U*}m#YI`0 z*QfN*^wFa{`3M#MDXP*aQ8Aeurxr6$!S_#=CzO>{Q5=~q6qJEI`p1CHL{U7Zj8scK%Z-=+D8-EzkGF?Wd?GE; ziU?-|1vp4N>xNoG+#9esNG9oXXtEo1F89!Yq+bx!BcDbu^8}NyLfw<6D^64rs_XT> z5;QQp+A3RmfoTpd+VE6PK?B>t5x^}uz+pC%z&P#E4vZv5!XUd@1rir1{ms>n-e)eypALnF++G;?vEtrF$APMj^%Nv+asb~&LoYcW z2}z&q;S|NJM|)Mn9!gLSdvK7R3geS+D8IU%J^GZT@g5F>o;MB7Il$Afp814ax|TL4(E3M_d+( zI1#&n!}!}4(10QG@v@8Zr(!YuV#MoNSVI{P9bEZEMS$G@(6R-V+52YD$#0B3f ziY&utQ)GeKXb=x^;I&>lIw-S3yDm1W8zX6>JZ9OfMrs(Nms6%CM9o~jW{e3Qr>ba= zr#EBNS(?1btkyc8<(O(>`ARl$pU>tFK;4Odwgd^QQ?Rvls}geRX%F6RkeH-~6c={+ zkTPRY&2X4|i@~PzOA{~!o~yJ8+YEyF$u&F8A43-D@M6Sb4aEd3)ni5?HF%oi971kO z8X+vO@HfxeIwte2ZezS<^4Q?fzNjc}UMRTuK}Hiq0egJ61f!-QPY7Lx#0!IYaaj@y zcdrb3B+)9$Ydprh(Zn$^6hpfEA|8UKBRi0>S{TFXr$&}PjZ&A2UTYa293v%D&?-lh z7u|nDW6iV7(7QX#=&mGW8wscQ?S>| zUKA{RWh#@pBVX-+RS0YM%`kg}C@E zDisotKf?Xy;^VnITiWe(TExUCz=)=m_l%hm`q%J+o4aSW*fCuQ%|qBkfEB*jeNNk?SNoKAUI~Pyvb&?r*gb6npFOoH+_Cjkn;e};+s2@0FNy>EiZ_1cQXQx3W zYL7|Zg!~-642gYW)+Qo%1D&}V5*?XJ&*D&{6ta}7p;*j|%6-{c6;Tqy<+5IY$2`oH zqq2#PM=+{n=Mw!IySy9_-P)C~Y($4i3o6ZG!$sQ_7Ck#Hykz)w`**F?_(}BW4CB~0 zg$jr7^h@roY-&%6XR)Wt=;3+Y=s7>UHhAD7NVfAsaJyNF>D&92^ogvzeRJq1&2luJ<%jAs z?uDnQbT}3F%w-((N+k;ME)Bzmkn#=N!4k<)%eSZ1$g$WCi>fU}dD~qPVwlv~bl5;~ zLnp`B1VAsQQ)uZOd0N0L?vR>VD4$#d(x5Vj#NIi<4?TPz;3`D;lca@_=D0;>f>jV4 zpu-Ya-EookXEAZq5fjpgaH)FKC(;md%rGxK`d;u|yoE`vLjEpY@e+_iwIp<97G0)3 zkwY4;$9O45vsid4Dyjj+?-t+4ge;2>O;gqH7kRb$YbV7m1EhkDQk6OgpQyQtRZ~a61%upjGL>O#9SiDdh`< z(l@PR=4U=&m)?;DC}$R!(KO=Hegu;@FJnxgL)OnwxmnU;J{ux0aSj;bFO8SRt1)*5 z>)~c5%_C__zkbm3HC>M%sNJ6C5$3X%|xG$%lMsmhzq$Ly65J6>-Am%A6;!AQh3==F@){)y*r(Un4@rlGb2AYhIBY9DYcT zr{*@}3VfAZxL^S)1o&dMS!0yk2OEFtZJHk0yCTbO2 za5*TMx{irOFqjMuDnz-!3z~?<(?qB!($RWJ2o$AltZ2hO2n=Jt_7HofbmDMtk=@>f znM{0V-VU9E&4w*D{B zsnEEn67e#}R|or2;-Wk7Q&|{YcZ7?lA!KZ%#lB|M6YD2!ALq_-k>X=gJDBLkWMekN zWviQo`iml6ChxN5nT$k+yxHr<%e9LuI%F#5x!?z!yT{zAQBR+a&NkmhJ5vC?4niSx9V%?YTm=5|RIk4!wpi~; zHtZ$hTn;VQr-yYi-|xvKt9Z^;r7&j4?wo3su{5pqg~+}vO6vuDUeWc=;oZE`y4bw0 zoLE+(3j{o`F6ru|c%Ckc>~b!u@|60L3{6iBM;{k2wS6ZGBo&q+UPaABuW9523FJJN zG37g2wSNW%*z7~otJEd*z(_+Dm?M22qb_pdn4gG)=u+)+2y(;~aLj7MhokxNZ-9d1 z?x`pqYaeu<9&N9QI!bu>n@|wP;=>i*`tf7j$%|pt!Hb~{yt2(N;QZvn{nE1PBCVJ_P`Llg(wzBmrFS~kEb>Br z0b^J%N`zPNpd8smbX4Yt_=f^Su<${e)Qfq#_aeO2evWGIat1lnyi5CVeRb`+X)Ls? zUIVfQ<~7ic4{A>J4z6#P{xE@D10CFjrv4}ff(SD#C29RgLaR6?xMGO)rzYIM9kXH| zWz8vtz?hIj3U^Uq>Q?iWE;^d0KzF|b>q@7yL>0ubBNS^QCy-^}qCF~+<&EQZ8Iu4B zESjKT5MpUE>2A=eWR@tBkWa*gwNx6fNNuM*H`iz8pi@$=rxh3tVW&=80(j`k##uBUi(r;L0-7X|@L2uS>8=@(Wy+WLV< z)&#VHJy58NN)N>8M~^~@`U%XLVElA_M1`>M5Qj`0dtO6*Wb^3eMrtip4mJV@tNsDe zI#Tq)2QR}Cb90-r2pD%fbaN5OFf~Tv31J`A<^$QVNHo_!4Rdtb>bOfTKqJl~!M1=y zR_gd|vr=%r;Y?T+Ppmp*;6uYtqKwjXo~wb5VOB&FZNYj`Fp&#ZQ?%Y5wwcQ$V`Pvt za7z=W7GY|kLtk~2Ayn&mB{{|bMr|2QoPqj59!-K%6vGu`Q7MO|u!&DyLlr(?6;&kg zvgZwJtia)mZZFv(&HJaIxyvVt+r1}gKKP-0IFF_PRby8imc%vKL_{kQLScYfUlVT3 z1VveiAQh6V4|qyy<}+&|E#!D;Fr~hkJd9}l^(rQCC-rIuua-h@3w^rGYlv_T()4Xs z9pE`=hv$W=*I&dH99)(L^QvFPtV=`+=MD(_D5jPQm*=^Kembj%SO_iEhZ}cG-BXG6 zVz=kJM?%cp#);*vYiz%~*FeM|FYvSjR+*JAf^eBhtY~y!2sud*gMNVV+k6DiMfC_- ztVObC_0Lfjtq{@@QnAaxH*)7i?WaTjCSqKgIBC7}-Ng+3|I3}R5dW)sUbZ#I1|xiHgO&ZM3} z2r*ga7j25G=^7P~Gp;Hw{mWd0xixB3EjBSD)=P0rH4pLA4P3u!ARmC9D zmDD@KNFhX^%Ccz6=uTM8P#t5ac+R7pS7~Ey2LsBUm1zvaYbSN%WW%X~3D}y-v<~6g zsgJ(BqSq6B$YHh*3RI+^are|9OQbROk&!c=eR2_mgjj-mDK?fe3tk&?PupZl6DqJC zI86|Q@o(OaJ=KUq>pn8jk%8L)E+a5AC2VmbN_8R+mNfl;KzM4-*&Mo`Yx0R~KnLE$ z2fkYRds^U!*`o-`ry`{0Y#b0FdPc2;w`8v!1gW`Qq;Z;h(Pv$(BChs(@o63xXL!w3 zp=U{(-Gqt{P}lgKmg2d?8L8-al>v9-WwU!)dxTThO_*uJ&sGMMb&s2Rs@GCa6+}f# zj!3i|b}<$(?Y_i@*ei&K@905_SX4=wj1asT3M&k0Sp&jpg~r2CU>Q|olG zP^U@89OTw2Mo9u`c{&x*U=3ku7N_mHou&^mNTej3278+H>^?jUkl>&~fZu3YR*6Or28qNNiSQr<+; z6c*HRzluMkJPs&BN*X?tl8Glr7yCQAg|<`R2|o4H%G&RSEJAy4^QV&z$jC1UHZnaT zt#1GgD@RTVK9nyxI<)=H8GEQ?tAw5jbzXJtUUPZZlO7xP~TA zrf=V_$*Pk${GLXX7@W7et~FlpI#&n_IeEHs9am)$B$X=OTvd2*QY;n&gV50!@X~9M z8_X^A`!UzyXGm#(8@Cg@O4LJ!sdS8Ye-@Iss2*v^HaB4HtH=DUQgj)Mstl59=1o1D z2aN7CZ-WM?blfMNAAm082vCoXdc*@_J?G3<&p7neuRHbCuRHeDgma&%8*0L7%t;r1 z{_9B9zNL+KDyg=~((iw#Y_uDinL?O3yj~6!8|KyGXpBOoQm{#Y;lBq|Ywq9B#i<}|YMs4Qeu zU-@wM9B(~F8caJeoehDl^+tOkl41Yg~?MTE1ii15}lE#RrY z_QW3UI#QF$FdiL6S|q|T;#_h*>{VN!<=CZ zb&k~$IN7_Ja|DLn24jDKGj2^Qz}^!b5K_L!!qpe_5ocN`2eI;cit@`VSwMn@nH(Tx z%d6>U(xy3ti+oiBNEWZCKwHAamqmzKtc=2hakAR8(}vSLN|`?^fbfv!$qbSiC22!t z9%Xou+Q9HGna;rwKuuW)2gOk8#QzT$!k)@{jUqxR8W-;|hP|-ZRl0-~C9}O1NJLph z$8+Ruqz=u>sA7bY>*n0-JPLpg<;~Nctv5tE(xckw(5lS|Pz(tX`HfSiaCi?sr_GX1 zP!)ZsdxJy}+g4JkjZ=7rdY3U1r863hi%`?BgXp^Ub}K6;QgAy{mV!i*NxxBKg_kLj zr(LEXbYB%3DIwA74iXO^2~Pq>4tyPsvh-KxI($kZ7%goX;QOr6c1?xRDrp1BPVXL0 z`jd^3+_V;XiHwS@mx}Ap1=1Y4hq=cNT$vFE4) z-O|Ib!;P8gDcU)1ALV)P}pE~w*idX5XO*d zgAU%_1c(vBxeelshXuOSVemtU+y|4~YJ~s%48~oK00#i5(_>CHkx&FXRI|d#s$eqz z!r!AtQn|4e1&cx_m)xw25lWfRdJ2Lqv8EU)4a@M7>8tchTGZMCZCY*-B7;@CAV=%* zP<%hx{Q?ERee@8RvZ#IbsS?-{ad1o}A(aohRgq9I83V@XV>o6xz;-ci`~(s)gcyi&Jtb__yMp=4IX1d+*5k+G?@VIv$i4uLHR0be+)~3*0b*Tp;Z(&BXXxaQbnX)*JAS0HGQx&CAx^D@V9VjUx}UE-JMPg#T-|bU;i~rDrD~@7~C) zkYCy;llNubw&J5%Uds`VUXr9}BI1y03bSv;1f_b*Y6H;$i|QOTPOUet@Y0J#mC(_j zqHO7hnmr%-vm}~8LG0|k;}R2LKNow@2$=1vkU&`{6=HHe zg-s5iW{~ez9?^AtVwf}0c^LpeOk^Z`hH&1OB&vtJ&y+}kNm@lZN4~0!64DxwO&UKg z9lgqBO&#r}<*Qa#RPYa{nyJ&kn|_P7H{!2pvh)-2#o~AbM+Q2{xEx3{3eP4>XPxBx zuD9-RckBhKBFSl}Mr3un=a9M_m3EL&1T>6hXj-MCRLN2Q$pOS5fNlMO;sn= zaZxg}p#@2T{Ukx6T`3#2HAEhdCk%|24bxn+mf_$eVX!b@ctQW0y^;PUr3N%Kk&CbZ z(n!PFK0_K9$Mh0R!R6rEs6V}ES(U(>SVZsjU)RHiyhufRt-<1`;OhLxuTF2mXw0uUi< ze+s`bU0?-9CHd+RP=eN<9^RfF)rK*`<0|ehgnUBmx%Qi-c(Ov@K|_C;@Nh?Drx;2< zDuUW&lah!v`n7J7QGEgk#}y+AJ18`WD7b!78`I{Z52+6y4|cdDdBDS|OXIA~4;ptm zK|nRlL()TJ>SGGYq=${B(r~JjsnpvXOr4kJG=vffuXC30;#Qz^&>`5SBV}CVanx8X z!!^t>`McAWO46y*$Ig7wJu0O`%i_SZW9ch`>zJ2u5=BQ+Zb`-9vcdVhD1rQhpDi7k zc@+$9W%Phmw%mdepMvfZr>VDkX>GZRn845`hKTLrJ-arU9^N*G`=!eWAAx0+=GGIw z#PmLz(=IY#v0c5{krh5mV`k+(0>jh3p61wz1zT8rEFs&AOG+)Ml1(oCzUGGGiPp~q`a>rFnJ|qvP5BMx(Gb%k<<7 zUL;<%HBA*xQHPOWqg3t~1yd@Kj7fYBy(Wsv^};tLfNNX4Bnc}=rS_l}lLqqV z5(QPmna*Yk2SX|1_yf4(SF7eZ5ZEi*R+(4=;TJG&gd8%IMbJd3v@I$<1{4Rbf$4ssG;F%o|{;wf0Lvk&6Ucb4a(O31RyS??c+gZTpO zx%Q}sqq1~rVH~uk>z7j&&8aG$cjpuXg$fPJa#Wnsinz?L72l&>Ov#R{nbXuqrp0jx z?xkQU-Rs>1yMy>3VeEJ8%uh&5Y9(BcqO|@ZxB*+`9b5ufR?tytPG_(wo-0OG3So|` zDufKO%!ks5hzkZPSK~P{7EI9xNQ@p0*JV$8#|0Dbv6b((N$!UyWmbb3I;hJ>Qkl&2#tLt1 z9}`=5Ev@+lhyBw5fqhMZnlr$touS9EbJ~PB$MuxPG=F;Sp#bEdXCZt zSMEW&61(q9a_9n%CI^Rn0L0+^T_#T2_2h&>mgb(ixp{!nQBLz<3@~+Mb%>MKn3&Yk z7j>-1s>@FjSQucIbnbW2XQGxY8U;py|Y}v*VNbkc(6s z3B=c+?E5;=xyYMSIN60Ok6~0v3ioL&kHIV;T-G7^sc2tS{5j2AFd+`%06SxG0Lkr& zio%W*KX3QJlktJ-B&ZSX*#YbVL#V_RPg)oLL4{hGwax>A3%YA2L@P&uH<&IPFc&X` z_blb*O`t_DE-BDM1ebQU7#|X2wfɤY0J?B>mSE(z@kgWOm7Zs1TP=m!iDU0Zen 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 V9@k>a#8+*~juYHJFQN!&835YLF;)No literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-1.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/check-1.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..b899256b9dc17505cbc006ad0439230b6bceb4fd GIT binary patch literal 153 zcmV;K0A~LmiwFP!00002|0Rtv3&JoEM)&@T8+8b%n}rN29Ry3kqN`lfvkfG7A!&>L zdsAHB`*@$$8s64XDq#-*gHZ+pc8&m@6N8x_j#dA@HwDBO|T+b zKf_QHogJC@Y@b|B4%+HaVRSVUWFEiQi)+FuC$+W&4Kx9ZYx4T;hCEKu#q6thEl#sU zyut0Wf8ZX1KF)a)0=6U;(gzIf-xIS@A315mr~*~tlns65FdE`FqG_uL!~_5U-aPLO literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/zero.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-ir-shadow/zero.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..deb2b6bf6fca4f4cf68446e502ca56a842011906 GIT binary patch literal 62049 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 Jl;g|+003Ssl>Pt! literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-1.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-build-1.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..d31226535d89fc75408e17bd73352c65f4ea507d GIT binary patch literal 453 zcmV;$0XqI4iwFP!00002|K-=cj^iK@0O0oV_eTgkjSDhk@pCNH#gEcsb zHcx+SwvBbo6(>;-V&Ky-VkY}e?h5_rkMAVtGnkdQaRO3Qzan6))I42})q>$G6srXg zKdW;LzMKJ%V9Nz*T{Bi`@a8ltyu@dCNGn~yS$PB1{vPmBJpe-)7iChi5}BwRh6ngk zU&qN-)2N@D4|w(KIKy83W;H()j&@q8UJB+qNmWyRuZrjCybrrwI(;NxJEU_5Bp&X7 zr5lXFlY+H-u_NnAd7>euC)4OJV4s0{_hb6M6~v)v8s{1#gi<{S%6SQX z#jt!1Cd_m2xk$9HBoG4*3ywFnLM{;93kVlsu#gI3L5MLE30l99c*ND_^)guM5mGwd zGDo?t1(PY^>FV+;2-d!kcou}UqgiuN=r$FyD+u{_ia}4oTrvUS=~u;FBdBJ)ZndG@ z$ZwEaO>;45whdS=24dTQ=VH)q8#K8XblV0Z7X!I%(B@*$ZyR)(7&P=yXelgkMk!Yo voP;v2Y8_230xS(wu2((n+P3aHlP0TDDKw`+sl~+h-?ha*FZ;=xeG&iws}0Q~ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-validation.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-validation.json new file mode 100644 index 0000000000..ba9f2e1197 --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-options-validation.json @@ -0,0 +1,42 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "changing-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12624, + "binary_sha256": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195" + } +] diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-roots.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-roots.json new file mode 100644 index 0000000000..7d0a1073bc --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-roots.json @@ -0,0 +1,52 @@ +{ + "rows": [ + { + "mode": "native", + "variant": 0, + "exit_code": 1, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--statepoints", + "--max-stale", + "0", + "--min-files", + "1", + "--min-statepoints", + "1", + "--min-live-bundles", + "1", + "--min-relocates", + "1", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-native/zero.ll" + ], + "ir_sha256": "ffc81e84d13930748c455b0b2c005008e02d016ce086f175e7b402535f126e79" + }, + { + "mode": "shadow", + "variant": 0, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + }, + { + "mode": "shadow", + "variant": 1, + "exit_code": 0, + "command": [ + "python3", + "/Users/amlug/projects/perry/json-merged-pr10022/scripts/gc_root_dominance_check.py", + "--unrooted-allocas", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-ir-shadow/zero.ll" + ], + "ir_sha256": "41c94f2eb4ebd9afd04754abdab3850611627688519a25d8768068737f6928ad" + } + ], + "source_sha256": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "compiler_sha256": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "runtime_sha256": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4" +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-workers-provenance.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-workers-provenance.json new file mode 100644 index 0000000000..86e941bfdb --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-changing-workers-provenance.json @@ -0,0 +1,35 @@ +[ + { + "worker": "changing-options", + "commands": [ + [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts", + "--no-auto-optimize", + "--no-cache", + "--no-link", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o" + ], + [ + "cc", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a", + "-lc", + "-Wl,-dead_strip", + "-Wl,-no_exported_symbols", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options" + ] + ], + "files": { + "benchmarks/json_performance/.work/zero-spacing-r25/changing-options-worker.ts": "5d710b4446795b37edc6f2792fd7e6aeda63d99d17cceaff199d8d27f212a87e", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options.o": "616fea662f8f9602b9a02ce8e25421fe4acc9b53d751ce7b20364136a073e767", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-changing-options": "fdf8c467b37b07dd2340044be6639565114500d4fd5f1f392339fc278c7c2195", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } + } +] diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fixture-validation.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fixture-validation.json new file mode 100644 index 0000000000..36f30fd40e --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fixture-validation.json @@ -0,0 +1,922 @@ +[ + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17540, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 102, + "moved_objects": 17478, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_source_length", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "a031482a2a904280027dc90e581efcc78d2ff206dd62a382bce6128812981c3e", + "binary_sha256": "8016f7c631d3c3b0bf6f7178b93b3b97d88d3198f7e0d9ff3b82c98166a8e592", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_source_length.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_source_length" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1999, + "moved_objects": 95999, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1998, + "moved_objects": 96025, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_template_capture", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "7aaf623d651915ab2eca0fd37b3b89d544f3bef81f0fb79629e3ab12e47ad521", + "binary_sha256": "94e6bd17a28da53240042ec7097a0153ba70405622d684e78fe6b0ca3d4e9384", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_template_capture.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_template_capture" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 854, + "moved_objects": 159027, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1118, + "moved_objects": 155168, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_construction", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "574ed0efb44c04e0a206d8cdc20aa5d6f7585787c4f3880a7acd153e45d3eaf6", + "binary_sha256": "bd21a74d95609bea3c8049ade4b8ccfcaac26fe83a0543cf2cd651456cd81847", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_construction.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_construction" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2608, + "moved_objects": 103251, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 2588, + "moved_objects": 103263, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "test_json_cached_reads", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "c145732db64c711c572e8a5a7beeb797e1e06b695335f8140ca62f41654616ba", + "binary_sha256": "c1d9010b6334b4bda454b29f3486f87475c7d27169dd65e93c6078c6c0a92106", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/test_json_cached_reads.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-test_json_cached_reads" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "auto", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46228, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "tape", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "normal", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 1208, + "moved_objects": 46150, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "prior-entry", + "parser": "direct", + "gc": "fullgc", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 0, + "moved_objects": 0, + "source_sha256": "825b2d78cf40d341d7fdae3fde69a28ba905cd6faa0ba9cc8ebfc78e7f6738fa", + "binary_sha256": "4e0c36aeb5ee034cd94d7732a89496bfbffddea96561b53b726a73e16b786953", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/prior-entry.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-prior-entry" + ] + }, + { + "subject": "callback-only", + "parser": "auto", + "gc": "scheduled", + "matches_node": true, + "exit_code": 0, + "protected_retired_sets": 16, + "moved_objects": 13305, + "source_sha256": "bda27230cb7c71c98990924cc5a6699273d1eaa50e288ffd88c90f6ca56072d2", + "binary_sha256": "2ff394f8321e916aecbd7388f237284adf5ec495ce34b14e8eebbdd3210020e6", + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/callback-only.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-callback-only" + ] + } +] diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction-compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction-compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..009f41d319184e2169f0382573e3f23ee51524df GIT binary patch literal 341 zcmV-b0jmBViwFP!00002|CNx?RQishlVRBvelP9T2MAjoWUU zcq4lQlmpMsCMplWamSwVH+vnLhFtW#fi~2ALu!o4ZbQ#Clt*cz(^+~jM*l&lP{2KY z;G+}Y#q5rl1V_IMH4WyDL=H3XoOco&slsCM@&GGzdrGP3h8UQPVpW;aoK3U0(eyrM zY=~!nFtGOQbxR4xmM|%c;^YzvQ$Xt(sKHLDzJ!~nEBHC8)9gx>BDBbUO&VulpOr){ zwoSjW32B%5svQs7od(WZk`2{~HpN$!<;1W&-nYh~+tP6xhh#N_DO-5n53MKCbM!6c zft$m0=>IAq63`d9KH{pO{}Zf;-L^&9>o{Jf&2^B}$dNUlLH72WB;?wmO9;7C=hh+D nzQ#!TT81A^p~ILYn|nq%fco!5Ql6WOhk5o33*03>_5lC@{-~#& literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.json new file mode 100644 index 0000000000..fba31a952d --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.json @@ -0,0 +1,21 @@ +{ + "command": [ + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry", + "compile", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/materialized-read-r23/fraction-spacer.ts", + "--no-auto-optimize", + "--no-cache", + "-o", + "/Users/amlug/projects/perry/json-merged-pr10022/benchmarks/json_performance/.work/zero-spacing-r25/candidate-fraction-spacer" + ], + "exit_code": 0, + "matches_main": true, + "note": "Preserves the separately recorded main/Bun vs Node fractional-spacing difference; not a Node conformance pass.", + "files": { + "benchmarks/json_performance/.work/materialized-read-r23/fraction-spacer.ts": "2f11863b7ad102980a59991f0eeedd6bb0b863704b278078b012358882881ea5", + "benchmarks/json_performance/.work/zero-spacing-r25/candidate-fraction-spacer": "2d14926734906c4c4dace01ca2ca28f56b298d267be193c17e7e14cc6e69b24a", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/perry": "fde1808df892dbba645ea4e66b85971c412940d515062abcc86ec07a1c70ac79", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_runtime.a": "2207fdcb4a53fa81e2a77722dfeac2650ddbeb76bd02f20ee47260b88c2427d4", + "benchmarks/json_performance/.work/zero-spacing-r25/frozen-build/libperry_stdlib.a": "a3d51fd8bab32984585d55149cda0d5a4212f5e03944c1241f3cafaee6bec80c" + } +} diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-fraction.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..b14a709bbca3b873ba4a23e1a4bbdf4eb17f6cf9 GIT binary patch literal 68 zcmb2|=3oE;rvJtP0jv4~y?O#S8LbI@bjj4=q0|e>MIU`H{+KpRgDK%@C6@pr>){zT W6C_-OXRXlN70GbF=C^w%P%i*(_8MIP literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..83687ef0cf6423af52d17b07eb5073ebb9efd8cf GIT binary patch literal 95 zcmb2|=3oE;rvIWRH}Wu>e0ne)7b-*in%-s6vP+rKc0D_qhF1R4tf;Xx=) literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-auto.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..750e87afc85b0fd2504e74ce9f4ca18d2a5032e3 GIT binary patch literal 342 zcmV-c0jd5UiwFP!00002|CNxr2LoHnR(2F&bPl6D%dTdSsYqrSsK!>PoWcFe9DXvD_3Aj8i%@_D*=|X~6!fc* z7mZEbRXQT=V_(t3LcJHqX+yrEGSbHQqR<=})|dTS88kb(Okoh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-direct.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..e64bac74aa63b0b32b9d3520dcfbe4e1e4b5eb1b GIT binary patch literal 43 vcmb2|=3oE;rvKi4KIc4qFY0>v`e=r2FbFU(G~Hrg@PLVd=XH^fI8X@y15XR& literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..83687ef0cf6423af52d17b07eb5073ebb9efd8cf GIT binary patch literal 95 zcmb2|=3oE;rvIWRH}Wu>e0ne)7b-*in%-s6vP+rKc0D_qhF1R4tf;Xx=) literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-getter-probe-tape.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bec028ad3f557f5d4b21249225e6a68a5936357 GIT binary patch literal 151519 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 z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/access-worker/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-check.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-check.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..5a421b8f7539487cf4bd601bbcf575c208a1b994 GIT binary patch literal 227 zcmV<90381xiwFP!00002|6PwePXjR!g!}x8DHADzI~vFd7XhU}B8o%=EppC#oQ1Qt z{NVNLSs#Rga`nyZ%qXSMkJP`C!3sm+K3mTT=V)>CrZ`HNw>WbSgOy`3Q{qT^px`a% z)ZwxP@NV-64QJm7hr-5Dhl?u#k(}>!CK0ZxaQl#(nsd_ptsw%gs)`sRM~yx%=O+-~-u4?2cAtOI+dS*>eX dnwl5N9Zt_B=~|)rkEgg3`v$*}_g*mp004-cZ503j literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..643811ba8dbe61ae95538d14544bd34a3134a0b8 GIT binary patch literal 43589 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/.perry-trace/llvm/callback_only_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..c72635613e76979f28098bd1ab9a097ea4fec9fc GIT binary patch literal 38929 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 BlcoRw literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..3569fb916faa773d5b371e7581c0e23261be2092 GIT binary patch literal 509 zcmV-+_Jz=mQmv zIoGuH?ufDrv_3d3_1GxyFn!b+s%v-2nV1-;8c zE2Oq{=J|?BVU<>*!%X|kica?!W5(=+JY~+B2TF#1*+7pP(>Jr{&X~v~mVm~ov%x?J znZ0ypt0133^RU>&%UJO#FnA++@m_k}cC%M#(Tf2uox%jZADg6WjdlwsY`X~z9^0@1 z+6zzj&Zwlwx~Ht{4PO;UUiAg*`Kc)C1IsN-r?&KNl&KnPRH;T)7R55J@?u@)`HJON z%T>9)Dr0`dNYd*vi)kT$%pgft1sMmHhuB<6Rk2^6xI|t&Q_Ed}Yr%O*jJZrix~A0z zp}|hXjfua;=rM;lGI7XSBkZWzfZKq!(S=T82%})hKN$TWI$N0dY#v<=du??%V01OjVIKe3lWSmvL8C385p6(q4KMC);Oi7!%szS7;WSIc z8{GUKzc}I0$6;?mzz$+Hy~oh~K06ylswRObkwPAD$`+||7+vubUMlPn&IAAeyE^>1 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/callback-only/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/check-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/check-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..78bd7b907e2b2bf8c984b5cc846d51af3d475315 GIT binary patch literal 1470 zcmV;v1wr~BiwFP!00002|Lt0BZ`(Ey{+?fPC^jqxY(=Er4P@w66h(`^01LJ+MM2OK zZL^j|jg<1TU%#UyJC0)~cH?ymW`9U*^LWqko`=-&V4=0rLm&aXc?Fj|uf?h9K`t)^ z@Kh^ffWstpOvNivDp^!;C95eEs+!7T0z7eYX$Qgdc>dWIN67d$s- z2&0v%aQ;9Rmt0F;RL(qePDHmRz^HREXxA}Vh6uH>i(Cuky}A;*flXD7Mm88Ojex;m z&aVfJE67AHM?zyR@*C&m{QMl!sYqucgCv1*U8I#%g@H3jV6L({$Az3G;N&@sC4T5N zQ0NR}LHtlWFhCt&W!XYhkl_DS-lbA*nzdBud=!4Bb4@xd|V}K?t#w}k{ z{ukGo9Sw16UDz2Svy}JS1mWA>3AC>mU}15_b3|SY1SSPMIhG<@7>Av)sgxEgpbHOQjVd}9a(u(ab)L5= zsLN6dW00KD4e$cqe)#a|k6(U$|C(KV`u(?8uP;Dci+O1&8={~KaiW?JW^kqSOz44& z#0`ff$_d>TtQ%$RD60%(x-Nb&rAXNbWBR;E!xxOws9L82PTO4dhVY{%o)^J6hAvUA<$;NT5le%t~+yX_v#REN}4NEYrz^3F(iJHi%Jz}kBq+k_y%rYmP!16j5b1- z+Pdhze*(F~;d0xwEDe5sAgXVZ(L@xO{d5-{1%!Mj9VPxzM+ebS$L^j&LR_T>m=b-n zj?)aWW~c#S44;;4E~=@@ki2&npFT3O$JyjRuBdfL@|c`7K5@=Lrt=cSpI{la;_chN zbSp<(YktGZ+DzFv^qF13e*7FLX`89q6y4Kl+GFn@d0Nlf0f<^`z;)bUr_=Z!VI;cG zNZ2sqeSb!_re}}TV*y*WM|R4wX3kiOr(~t;ref~U<{YmRTQa_^ESsbUG}-(Jd=SP4 zjZY)((8y_>J<3DiQ_Dm-l^qUz?%11k zE`7{k9WGP0h>I<%?LFkPE5$3SS+d#)=doz+i%1KenH|*AJXzcA8o9BLMM78Bbfj)B zT=4c#=aqvZK5fgNdj*p3HCLxyYAHYXFVy5+?X>;Y)jALiSV zgak==D4hgJu(M7=N{%{tCOV0OC?rYjA4(@l?Cq)(>bl8MC(lGD#HEQxz35O?EV|mc zjHO-@9fk5-ghKHONTcvjg)EJNohw-y#lcZ1&qXMBm_#1&4^_&dtDQ?(k3`2(_B#uu zRRGIHF{!3|ci;S&xQ}$-?f@+NZp7cU@8&0dc)#yvfgkO=dG4YKwr0N8ccaUO8iKi$ zH2u~4eK+c^m=V11ZRopUjeToFDe?S&r|-6n)^G2)-ERpmWYW;KKYJqWk5(EQYdjkwklw~0*fWrTyeWKx5J(M4Vy8ik%l7x0RKzEasU7T literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f5f712a49eb4a64ab16bc18885b888e90bd989f GIT binary patch literal 111152 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ξ*DDSJuD}DgvR*=NwGf`Oh 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:Z`}{l~qF?!vg-f8^&@U#1_A8*bUT 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/.perry-trace/llvm/options_worker_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..7af6c62695b56b1f2cb6ed7bbadb52892cb84f19 GIT binary patch literal 88859 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%0D}kXU5biYdQX5Fn%0FXOLX{i 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..69535681a3909344237e4817ef9385c7d63cbd9e GIT binary patch literal 510 zcmV)4j<2ElpT2lRo8 zR-YT{ygj0ffjad5Gd%`tvKD=VRpvZrEYIm4jXbo%pTh85rp(&ZwoUa*Q zt$2QwC+S$pNH5rB7Sl%lm_aXD8Dtt*9#ZqFu1ogolUy#V)n>I{?~KB=^PF(9T3jB_ z?t6d#gP|rmJDB)vA6*T#GAbM}xtemAC#O8Q0Y(_K$^dHN0#-Nh{QefcPSM5eqqh;K zSyH{m?SJwck4KvJHUx~2;8cwv{ysgER4ONhD3L-QaLN`vau{v#6SuV!Y|sP%0Bdye A^Z)<= literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/options-worker/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/ordinary-workers-check.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/ordinary-workers-check.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..566e9cc99f66d7fe5a85cd6beb5ac9d50c1e3f53 GIT binary patch literal 233 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 AQvd(} literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/prior-entry/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..cd86c3dd5aefa789be60a57989b8994e20f29121 GIT binary patch literal 324665 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

AN?#O@rpA)9%f%T<+c!`t%y-U^{m{s4{w_K$ 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%0DhY8w;! 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\`v!#N8O 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�H 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

}|K4f|Rzp>gm9lN4^4St(kC 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..3149f4da3d82cce75678a247e0f5cd9897161038 GIT binary patch literal 243792 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%0A8T$qR+I-G|h>*$w%1q39 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≀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 z z$WQ)sL%0SfX$wz}PSDBVHq$!*{;LJ<9foDYt{e`YCQa9(DPW=u{y$c3xbn!Ip|4*8 zktZ!jAZ68ZUC0sineYwt*&qzyAaj5!pd96^utk$W_)6R0@DMuNtlpYW{Ee88(Su?K zHZZuyV*?naK_;m8H%!#>UpGYQl|MVz*N1)(WpN$+z>3iTPp?#`g$RJ>#=cbdj<@mm z^Sb}F)M7n$Mcj5p=EJWUH$&sLDrZK&-_}N(+yfZ5L%~a0L}=!itrg7k=YzcWGL(IF zTnzq$tlwL6R1UEa4&#+Qt3(I_Y%Tt2`Ib3!3ldI%-#-uFR^!h)`0(J6|0j0Xf77L2 zOFWR!Db-jiJOAPGHod%1s9XxZCymTjOK&B#y+O*A)O`I225VqnNS2=|LT((v@s2NXEw?lN(YwE|F z;!dZX$xr@rWSo@?p0(O7)<@vOXl{yCx_XNA@vc+w;`cVi)BVS+ohhWbQ^KqniF@9{ zMOKMvgRnS)@k)uJ{P%yB?K(dK7VSrx?%l_}6Z$p1TwG7Bx&koGE0}qIWdhGKnVz4k@}v5>IsRz7|au?s@%vACN3sMXRogdoD0oBg4SH zD8m#^Adv)#aqvc}-!|ia0zX{Rbb#R8B)^>6^S@gWW%7+wM2dCw;aA)YPD;Kk)YTpVc@MoH)Kt`t<9 zBZAFOu(k^wn79v0g^y5D-wC{0LxDJ9K%F8&S#9<{=$>dq0Cw#aX9{{lLKR52)FJ?h zQMhhz$-$!MuG)uK-(c%D2oZXv3;q}y;e}a(1z#Xdm`cIb&Zu(RDneSW_@s2f<;{0( zz;CVn5yLiMx%g9x4qcgD^xcI1GmXch6%PJk@c21WxyCelF}J4=LftL}w%I8KM$M@Q z{5gCrhc(#EH+U1!_VvNtlx)0R<7%RwAXzbAfH z01M;K!EqPL$AOZ8>zxn(CP_F4t>iEO?d#BkNz5JB--JKRX%hChCqnTd&=0E@&IKo{ z)wuUm)R)?}fVz@Ln7FePe52>zLbSue+s0PI`MS(ak{8N-+caj1=71fE`4@OH9H+~o zxuC9dFCQKgj+5$AI#C#_k1a77gdk5Lr%w7(2kdA)5-f*^zypmP+2y4VG@ZWVkV+ioqEQp%k%Fo;pPS7n8-T;;pI+di*M3_=!N5pAZ zXrvr~r^cALkWoL=X80U43&Uz5LW=`72rv9!N?+}s^1U)pv^eBe4;+yUxcLU4O$;8_ zeGR})S?qg2v`|DgWpjvZYdwo0Ad^r2-kF7Y?fv|8ZERl*YItNj@u($+s(od2@3|EwGUoEQ+-br}J|Y(n&@Steeciy4$f8bV9g zVgmwE@2!g&tV{w_x}XL?0Z=0h#{f9^5qJ4~eQ!_yLFYHO*Q&E2Pr{eW=zpqPuzqJReg%qEyzu# zpz%;y&{rCO)YlONIjqP^pEqi?w zzZ(8_#+S_k_j`AE;JQdH-v?^bEZglv)E4&ZLq=NH;By z0@KvG>%zGrY`3ap6@g@8%5brOk8tA&qeu7q+-IvTaPVPbv}gqV7g5#AkDA92JRjX> zMV~+2zAmja=(n-IH-)OcurIl944C!q;r;dfEbNCfrv2pzZmPgqc-b;JlETXLg&-5y zT=9OuA~^)4?&T6a@6Touv6T_7*66lqlldv^ZzHuWx#UMf*OAL`R^0iMYwmme*%Wi> z-)mb$Pi)aG6;AN78%N-bDR{9h0`m6b2eSSEG9M%L7{dJ6)j7%6AiX`B8dtB@^FA1= z?9?wbZ!e;Ok`*qsm{?i3^DUfzom0&eU_05|Dx^H50~uuYu&pPVV4&QmD_NkW+@~+u zprV|YtYYycDOV44#0?z%Ia*uu^EA8b>;855;oq-NVXd06r?=blPkMXNXn6j+tLp6!`%SKo#}56FZSetP~F;29P*u^?UQdMYg)lrbO)EY_I><{qys3&Pd7(U1?0`-yYJh7?HG<|4rySZVe80JXoeSD{oFtL9mSN7~aD56C(!2>uctyL&yiEGT^=?X9Uxwx8uif+Qok_N}dn-q=&R(wt;PJ z`T#TkimRP@b3L2!`P<7PW<)VCth355T{~dYUDU#%6+38n-hR=pHWqLZ({f|KRVBU< zVLcS?ZokV$%ZWHd=YZN3*e+y@Na!GvGlqS^CJ#R(gdH=U-kM$Hl49n(==vATj9N1x zZCNqryG|RmVR8CsmT>KBabC&70XfCkGA=Y-@21qZ(^_YSq+(QoS|m*X3SD(2dA$q zz_#XB%&yql$mRJ7ji ziIli3YeptT?a3E2V_D&pFc+kJG+x9pV;aJHC*t|7k`UF;=C)(X8ZbbzK=oE>v9|}i zqu|(@SG2RiD^Bnsb2+rRlE}}PMteY#4L_7^ z^ZwL|&THPhU!dFD?Ie=irf%*sG55S3Z(mK0W+vmLi?hh4V}d`<64HMHv6?fe{vynVdCuWxp?@+VdBZS_FW2gS~G zDYQOzF1rTgjZ~`!Fn-lACg$C1$2CbL>p5Ikl!I^3|ue;<>RoGxgHr z%c$)IM+nahjj$UHjBZi#{VVmE;|+l)`;zpTyLk{)8cMt%4QQeUL>c9x10)$0tTuv5 z)tj=8LB?j1z-G!?kKcC?7K`X$P;yTjf2sT}$a*{Ygx~vh(pj6T`?=lf|86$j>HhW9 z%Fpxh=jLBAc}!UZqw11~f>o-gLAkCmRGBQ!CzF9E@h}a|^q%`>FQ-7R5Ly!UE{?#u z*;@CH>6Q*Q;P$-$Bp(x`m9(gmQ|3LQpTfiSV>s^3Df* zi^DEzOQZ$}i`f`Dw11DEyZ_5CR~Xk?HgV4I7TaOt^Jt;u$o(fzzPf2g-?G|^n%07I zR$Qhh*OD+T&66_Ft^k?~_I@&9A|z7N<~K_r14Ew3-1n3iMXbeXSShG^(OTJy!YNrK zFie$o+LVFGu}6yjn4c*IE0CDOI*_igO=Fg+Qi78^4H0`Ipnf=7UpZ zad6P)RjbTu;W+2;p#~2Q*J_MBGMe>S=f~)_VAuJqV(YLMvJSrqQzsyKi65a=z=w62 z{vrO)YjVYpse4rLZ^WA}AVjVsmroB+CLM}YE7l(-fL|AP-vNsw0k8qQGbVtPfMN0< zsNY1&ctEA%5rA0-NWdKF@TZ|?;SLLLt|wALNLMow!I>H>$2}v3WW+v`d{{5F`YE$v z_IYLkHJ^GDn9$AZP8a6NQnK?VAvB&$U z9yZAqo8*#gUhBC_hiPFdDjj}lvAm%`?);(OA2$q-6b)xI4dyF@Jl36S0Ryabcz=WEmcd)2CcV1d9@LD4(!1lZEa5bblC z4xLN{GS!xr{Fn#~trA|Ff#0A(-k|=y?wC77fc9}drEd7Vc2$p;bskOZhrks8rFcTsc&?0}yu1S+X{aXqS(_PsNvWS@Jc;yH{{XcB z{WhwTJ)N2FyPzkCXO$}URPf0R&u0$-0MMEk-iL+oL!Qjv>ETG;m1*1bGPVNeuCwH7 zr5?ba_r#;QwB0>K%YG>5l+`y{o9Nbk5U`<^!#&kt>ViG$bI!x6ECHpc(TF9^-Wu=+ z)D;z++7=UlcXID=MRG-NJCf{~1mu)0JAGcFk` z(;X@mZFb`{}z6)cyVkjm9|tIk?fyL&&%(l;LR7DT1wW5=E3%*-8IfAf~6rQ z>{Ev7gBq#^pcOFsB}xHG69j3C>u@LeCbbh7-x+iDowxzU-v)e#5MC0NDNN6d@{ht& zRFI5Z&10&lDY?7YG{F*GpS0o9>>pIgE;8fxD<&D*KNa}V7UdF=nby~QY^-YVE1SvR zv>uk<8CmhaR8uJ#IiWn3q%56DgE31iGL0~S>{Irv&w5gpGLnZd+I;}5%J1!%1DR(! zn)!Pad?9ZAEy-YdDni1b}fMS8|m&n^LIqkM+{_ITb= z^i>r}N$nlCOOfBRT3E)6{fWIm5XVOt+hfCu@#+I=?H~+C=nrD`Ub_EFd6C%x&(iQc69h{Ki{OJ1(C%Rqe*=K)rWEDJWPu`{ zK%`4Wk!G1pWR52s?cT$&9ZCvOeSgBVA1L#9k*6KA7vW+U{3^lZ%JO zr_Gs!^V7kCXN${@eBQKDzW@*8_4JCMS_(sb;lG_&q!60BaV|6Qap)eK5%DYiCFQKg zp-YLs+BR$}vmFiXj#0k}b`;ea&L*C90m-cn8>=cCX5fBVy@HyBBI;H5WDZqqWn=`ze`AyO&igi^Hih#tj)^$FiBob|4 zm1J&}08`JY*i7{vUJ+qU%9jdIw@I*kQ2^(-cQKwge`)YZ^PAzEg5+@hWtV^QIkvX< zZFkk*=Xo%0_2>O^)L-lS`^9|M_v5J%zcoI3YbliCy>C*&6L~Q*OuwT)NG;|$NC`k1DEa>Z z=Rg?0?B4UsVq+OiWeh80smDZREH7iOa4elAN?AKULSzFye^OaRIzE=KZJwq|l0TKb zt?ZVoI)Rp!!cH>#mbR%-lx?ZGcE7TA6i!P08K&&|Ik87(!Ap5~YgR>xXc`v4Ed;M}5>+28M&&}KO2fnLD8;n6hZDaj%IT6-Ivut4SE=IpbmaX4|NTKJZ zbLGVZu&-`@dHv?MEfaTn7aGgl{(AEwn=pMZde)!o@S}A8*EBqZ7B(bN48inv$;b24 z$?2#=0^uOl*-PR<^1u#~m`c9XrxIFPhoFXakW<8OlN`0&WF+o(kT0H^Bt|YKj4usQ3BeDc%-9vS&@Zi=-IC=7FUeFsuY3Vl_>gZ2vQIMKtNp+&;T2%5E9`5>c9ln5*URcW2 z0Y`0|byB!GG2`SvqZ*ga@r8XG6_wrB=Oa$E?sHX@Ua+x5W%RIC>tlUt+7UOVR=T}` z)}PqM)M{hlT9KDcamM`ht~!}yoQeZ*{}K%b$d-!n*ym5TI-#g zOlwiP&6U^)Wr;>>+5y@L99wHUxF2aZU%>4S^5?l$U$0W_Wx6b!snxopaq4zh*A?1pngn@cX9>d^!U+x9>IYGn1U_nV*!nFGPJ2{Y^cbfW&gErzR38CDCglF|Uav zyyM0kjAO{7h)u4`oU;swZ~O zD>X5ylccALq}MAwiW|FY@Qos5{+ia{qCyZAiA>&ARL1vek&5zO+ir(wE@3HD zi8P2J@HPHBg&wklsKhu<-G%ujO>u!-q3OO_p|xyP(A=t^%~Vs;G;P{W-kY>xi=~}p zWXyuweh$M@b$3eT<*0EGY|870rx(k-o#_9RDHMJxauiYdU|Y<5-%|_o>ITI-1#6XGDL9^J?ZnT6HG)sN(hfHn#en7XjVG_z>9jAk3X3TZv zh=lwJdZ@XrG(E>@n}oxq^BZf0fm?oXY7EgYW9eh`b4m6{ukFT2v}1af>u%O9L+s1j z``cH`R)PLwO*Ne2>XU*l_pu75X?W(;*0b45z?JIMSc`Q^TrAJl3!E*ZIGfadWA>Vi z8%Bw2(kR9zjheDaL$`}j6E>M^ca#|=u}P!s-m|<>{sGVOX0=Ro+M!YIsvn8|yS!eQ;Oz|7rl&;Pp3-H2UmTLQZtlCg z=b5%tX>%7&|9&s^@29j>qFK?X%~DuTQ4@KW>c?h5+5+yXJ+nv_85WI#3!~t+8pq6? znr53HPVjZ?WQVUCl?1+S)Ci4Xw3?mF$Ob1kqn0+Wu%V7Gn#L*h=Iw8{|L4j3n_tSR zI`;d^*RKkz^z9z243u`6j3_AGEza`0B?Agh?iSa(f|lxyG6pWby9 z7(BOEyX`ebd$M}@kxy&y8+(y=SM4CEUL2$b-$@N#asku6wIKQ=N(?>>5<_4Q2HK-- z&Zk~t=${U^4WAK4@_si*0s|{f$D=rPbh{@Hl4zCvD|Fx%=$coo+dY9+BRF9n=hp(- z$H7Y@p?w^JJQB}G66KMQ0k{V5<0xXck3*71+W64w;>0kFlsbr_2&5wufpj#Y$FHuh zK+!UfU!B$D#^YBngk8E7>6C+Se<1y~t;+g`R8l}Wq|_C=l|I&oeGsQu9UzD`_2O877bRZTIx z48CcQ3xekF@j4kS6MDYczsGNk5Z|DC$BjATtmT>cVrXEKD1|;zQe4{YB^#1gSKCp0 z^%Oygt{$TWIF(Xw)mTY!(oS+Kr*e_Xv3t~Li*i{N;3yLP%_eM_{)=wy2B^-=BNC#rhSPMO7mwO zM?Jg!Kaab)Y)EGMU}=(cGur&Lnomy^FWfi(0_V!tUn&uZES$&spE3X`-)gJcCqR-? z(K@iIA{y(ihTU29!_L}86DKJ3#!Ak{#`+nQ>G~Pi5zKa~_6XYXdD~ccAS`PZMwCcT zA1Hqs>UM2XR2mUtevaWG%Xlpn77+n+X(JtHuXlH%x91U*b8*qO?;9Q0 zcrV#oOtDaP_7>xV0npqj)g(RQz?$Mg!*F0tcG!3{3=&6V z>;3&OAXrBY*#QZ*G~YnM=D*z_Y1@2DcNIQi5dP$$wl1(kZF5!(`A}OIrNWaNz&c5U zv@Y)50M;eRj$!k=#)u2MeDF%z@1?xVwe5-%G{EeYGh1=?azP`80c-^abl6;jY2emv zjNH;=iRB@;)^99hA%)6#UPfb?N_gO99G2<*tE?PPi3s3I&%L%yj+P&wViP?=d+nuX zRIA(-JC9Wbwpz7du_pV#H6KHV7HhKqTm6~?`5Q~P%Y)YwDZp#yDdIKf0bWm~0Ivr>n^KxCM?cu#e75c_Em#zLy^+*M z-)3a2d)+rlzux6Ndw=`luh(~f$!lSyFN-3V&wz^~CTgk%qM**oNMVqXgPO`nYa*29 zwaA3V`OpOMQPcz$$7g~QWh4qmHhnlUU@gK&&42N5P&Sk(4<+!SfIJiuI?5ATC$0r9 zg+&qg#AMI%Dn6d%;U=Er;i0L)t*8No`dG^_9&RFvee^MW9If(Ar2-z6l_DZf7tVKxs|k-Vd#JP(1-1IY6bsQ};hRsoxb;y3e=&qKO+9`M?v ziO^b_2wEa-rW2uSA(0hX%~+AuPJFnw6bWTlNUVx3x>jOS5ri$F{pDL?lM(7v#Qmv& z`BczS>LgDE(_C$Z(_&LWr_AUcXmzdBPepkM;=97=%Xh^l5Ybc^D@{f1*G;Fw&|1pq zT9%`0*$KLqrLZh(qOjs7T)yI)WLL?AeKOOWOi~!ElF4Mjd)CUqd)5-uvC?YV%U2Uc zR3g*vucn=^CdpaW%ByMlYF5~+4vDq2KxN{9#k$tKn9@z$u9S)kT8Wr1sHFvU@`75v zpia*`k*!nb2-qwS^>#Kh!-i&t4Ko5@nv!Fh0kbYYrV7lO|EitYS!YZFNmjsS&6mi4 z&AMnRs$#R|ziMx8)|+L$IRTzE^XUPe)#SjKN9|v=H$UsmvEICZ(3)A{fY7?MZz@7- z{;T#DX1#gVTM$56Ge;UgT9@{11!>KH)!yQ)x4?Rf0#2(@9Mtz^%vxMn4U;&u%q^6Lo0U#Cyj(8jvzDUz!`H0@<@m)*X%_&iqQHu+CC#CmTA0K zZAjecw7sm_(A$iy90MA)EK9^soQ-YJZQ=#ol1c989~^0uPO~>fr>RFzWfCs~Sf;;3oK6Q|u10A%e_UBb zIznbxUEkmkIipV^JGj=V%n>k#Gt;m!XKF8#urX)&+8Rlkab`Dc%$bLTjX5)hBRJCs zQ#lrF<%~I$KZmgVWjRt^jySoMh!vTW2ir^zHr*@E?jLL`A8gAHww)Yo^80aiJlKXG zY&#xo%NO5r+mXwTLZp?uq5|EuW5q*iYa4MNp~gDbBf2^ZVsMMIbnt6bYU38_Y!iXt z9P_kx=#b@XA2s5f+C_9V%Bb_FzNG{uXE-I(bW{(=NY1_ z$>7+J#GmW%CH=|SfD;OANOlLtb7|O}pH5Ck9g>rdQk_0gRCGMJ%sCmz&rx)lb5UG~ zFfK$qgmlgB$`{jKt5)JcrjBzYm-dgIbI?P&IC*Bci0Ou{P~0SLQ{!m z!kZ)JVtPzh=Vc%;M-R%bJWQWyv)1sFHi-%PaI#I3lzg1DS=S0qwpmA!CT-HW38EK) z!>4)2BJP|F*4cv)E(_+*!MZLb!w#%#ZirSsaBF@UBu!u7)_fOq<5=T@mH5Y2l?sUf zqPcE=&VrwcT*2)_Kbo9(;L+i%RI`b9e7oR9>tgey=HlqnSj+)rAIH zFgUGH#U}LGQGB3-xk3f{!qZ)UuEV#I>yRt2?Ype7ag+gbbz;WJ%f&T*n}RpMHY_T9 zpxt}gD8O8?9C}hZ^4)Y0ht=}vuT>k8_a?;l8d`tidlQh2Q@D>SPL@r$kIO*~O}LNa z5tp@*#F!nV9c)fiSBYu|;x$`sPHu$0QXPig<9#-YZz(piw-h_c)nO@DhmF#Sw{bwWw$bfjy&7fX z9P2b2RYk1VT&>b9KjB5oi8|7kQC8EH$~c(^^23iH&O;pM0d_%Ojk0jjL^Sp4OeFr2 z*2V={kXsP1=$kMBZw@>mUv4dp)Dd|cfaIH{cC%Ty%FVJn`m4djl*J;k)k>gO}z~lYCOoRO)q4=Ka%*pPeiMxv?nEDl^ zI&qUA&Ro0KXqDt3Z&Nx3f^}-&#J>jwo1+^BaJKrzi9e{VwS_5UeSgEO$3X zb@zY&{w}vq0%`E@DN);|kJ=7?vSh)tB@2Pa-3C96yA8$U$3>63=l`{csVi9H>)SUk zub=;R{r2XU+v``sJ??@nsEfb=IO@Et3$x5jXlH8+n;;RWJ{h*5v|e{$r)?}oy*A%v z8$fRJ=a*R}Xs~iYin!^ivl$gv154b?B++`NB(o$(46 z+I^jW`x!T@H*ON~!_(S&!}Buw{CqKq_%SEYMi2Myh&39o{vdAZWpI~m>iR3~sbVu9 zEK#8(=`7oGs}h=+s!*=Oo%L*rW()k^k4&fu&?=!}v-KzQRVc>$SHFCuxz$ff7<-L( z2~8}J2qF-I02>>E8@v)ivADm=S6<7>!e#;up|Yn*hTISg=XyglSjgUGIUT8_6JK!cVaJ5i%X7FPZ(UqetKb=u2Qx;2n> z^q&@{zcAH~X}~rV=~Eq#*&9z_<1xZ`dPXG_!25d{PIdx*ogFM3$>jd%8Qa^~KV$pJ zGj)1qFkmt4_Kd}XQvITk37UV};kdIEH5}i?+B-e8?YvD?# zmkF_)kOTXVNBa+1j3?$FA8QH8zu!kR7YAkvZj3+;P3zJ1?gaT*v=W~#J>{S#M3KoI zxEqAe+?-;@!ASdx9*R8hha``t3lDV^q6Nrv3y_DY8-xdUc-mjyzJKwgFw)nrvin?3 z-|czM2yZtS2+!P&d;@JqZE`je_I0jlH5v|tOSunBHYe1DkZhA42HT_um{N#rC0;}z z)vENRU1pS&ydC)CRg&{kd$ODPBsn?yG&ni>WTr$DlYxt9Dovd07_8P2eQBtkw~nH_&ur4%AK6AO0K*o0_7G9iuT0&#>^Cy z=f@+cemnf_=C?9D=|tQVQ(;awJnjoYBAeF1-)IJ$|C|;?H-TZv-Spbz0L2vC6ow@@ zIAcM4{i0Z4A9owEHXk4GXc@jZ-cmytKP=bdi3{{5djKvt)8D-5n6AlP6dSI zgg(3a(EVseTw&yN#D(Zv!$2#fPAfWNo#(;(g|T_8Zb z6;{_kym_0Z(i^qJqcuEc1sf&2Ui-p(JoxcO?1ag6Bh}(nxD-WXx|yB4c8;%|bFxnh zWliygL-sx`jwRUfjs?{CY)x=M>i{9+|C?wbCRNLK(FwKLX0_c}UAfkn=*o4I$*&LS zW9BJZz0-m^C1nFwVi*YnQw>gGrO#X^pJ# za@0Nv2b0(&6xp?Ty~pGXfgGZhnjU)nt1a7+7z-AX{9Ocn?M{l zkpvWz1A#gPC;FD>y1fa+O~YE2CaBQtRoC%1Z71Ob1a~3}cW`cJI>$9Y{j!;8{ORCL zN%l&qJ~cIJUX#NNiD5$ChvLt%Wu$m_f42xwAAY;OdGX>l8xQcY+1pE{&gZ`^MYlU* z$R)AkYEcPspVgbo&%C*q_7Z#;yt$?r+M!6(pTV2Uhck{Z?VB~t6MT{*k!SM+?$TT( z%K*Nh+P>HPLXMr9Bu63JENnC8WU>66UUu>)T4_Lz7Ea9~u!~ zFXX3{Hg9`KR&r$wX~+r^5`+2;=)W9N4{H~ao91md3Y45paM?t$$=kmCNm_jLgR^#? z_ipy0=UQd-%{yrHT&s+}fpw0aE0q!Dq(}}G(ThrD^h~LYeyUVPU&lL9Dsyc{nIv&W zANBxvVlhBm3cwTnnD#9C-sdT1+d)6xN!syc2@}iPo)?)`Rm$SCt!qE3VvhPf^0qVI zHei%G_~MYXnznNJ4JvK%GvsZrz0|*{hhh&Jo(5upq3cdjwZcc2u7p$97KlUM_DmKz zUdEs&yEb&WX5PD>UOaiPm1uyElo`2W@$&?DO?zV=yco=dspPjB$M+32-Ji!|pgOv0 zu#=suCf0<|Hy`ePdHteZAsaZ|w}1NT`)~f`n?L>d?7QoKdG`H3U;o3i@4x@{oA0lm zef8tF|NhPOSAYJuKmGWJU+&)CeYku3`o+~BZr;59>FpotNS$CDj$!ciiH#fj`=4)K z-u>;#{oUP%C(oCy@VYqfH7Q)B0x$21kq_LMXg+g%5)P6-eHjjtWSUEo<*~YbeF>=v zqziHoao|D3p$Q^x-hl$e5Jx4%4Tc_&Oc=>vU9Ns_;lLys@Gq0@i3l zsiN{@qWRcDBStw?H}DXhsAStzq)^?c7zkg)XZc9@@lgpEOAB8YRcpjZ)OIl^c4AJs zm`TiuS~5w+9K}nNY9om_rJY{HiJFCIMZK9FqV6L@qqeg|^UHqMM-mPzPCQ+6_|r1T zN~`EQ7d4C5k6MI3jk?k)1lq-{Q_()wAdQ6fu?+nlIrMupN*+m~0-EjPY)owSu@Qn7 zqtVUk8Y_*IHjt5JHp68$#7i?)v*%>F# z9Y(|L+nek6A8tO}K6(AN_z!>=zuw>8yv$x9P|)UtS~Ss7a~YkbWBsQ;|9Ji54_{yZ z^Edx7O5$`vqU7irb1>DHn$cs#5&yhwwhwRKKl$)JzbLc`vxP$MS3ii7>RqIo$SX#~ ztVL#u{?q`k* zT=p{Yi^xF&BIf*xRoadsNI;BS1BoE8i&CFTB*6_W=J*YPU!>imv#m>;_5Az+8yczS z>|hT@;M-oyL=&z@1T!f?;tog&SR)u|TEOlSjI1N6Pnj3`T<3+JObSa~F4@&%=(?%? zxHk=L_1L}9+RqM{kvz6a;ZvbI{rS6Viqz@wBRkH0AFN5skKNV5(lDRf>9yFisX8eg zvlG~HvXgyT*{j<>45*x{rsOz-{UbxBpK1 zuD{gIg?lxXrRk@&S-BGH!HB8%W+F4p|6~5}YaZSIi!-*&J<#gVSFF~~YZ&B`1P4pe z-i>wrRa>Msmd-U+H0IivU>a{Lp+*Brool}6m?xVDQsY4BbIk))Fx-NS?R2J0P)BCo z<^R`z{)hkh%~wBOfA{P^{`_x0{&4;5PyaEu>w=Q(x}XNTE;PBF-rW3l_wmE^tGoOB zJih$LakB>w zb^VjWpbt;m*E21e??9OczMg5~+P22_f)1yi&&Ddp?`PC@&kuDt@qUJ#>?kQv-DZEE z_cPESF(MtutqBM3XDOX{Khw))^k`Q9A?B!M5c zo7@UFD1p&O2J^4Jd-lT*3kUn=yRVl8|L)sAeRKVf|Mu+rudl!U_J?Qx@EsYU!4G_TDXiRiD&WZTF5xJak`<0ko70hPCB_)JD)O+s5ht(PJ z&D~EQZ#PL(H|a9_@2jY(m3j1NQjr$f#C?85<@RMtg0Lcc3z&(I6d1+k-HtLK_pt#3 z)dhOxiTzSGMd^hD${WZi%-LZ8=EN4Mr>mdSO;OOw^4X?kpxL&TJG~r7Dsdwcix zhm1mcZC!ZoUg-2Z#B_UmV`}NU`^WtpUok?ycn}HoOQpea9~Jd${No?LQuV(qx=c1+ z)r}xOyUaE&=}2Jx#aG!{<-}EnZL{6r&s=3&Cwo^J&!Yu7UUP?mTFFZh>}Zh(3zM^D z9VbSL@qvtVD~sV{_QnZ z>-M$ny}2O28|FJ)3ER6LZ!@6!V;zl_9Ir}u)3efS~Fp9$UW)3UH5j{g~X;z`2EMPuK)GV-+g!e?E8PIGLRT93}Z4g zXp))z^y1xJj>XW8y1o5|l3;xFs3|4tQg80=-d(@Hd3F0PZ<5FTA)Gcxzx1Byi{A9) z}4!$-TCxfSX4P#&< zgeE2oLgN?)zSiT9evkz_T8yYp4wZ1r`-VV+ z;LsoEg(ZJ{_vGE1o7ZobW32UVvDH|U%Nda^6uGfu3-}t9b(xc~E0`q>s~p~cwe9x) z!(UItu24_&OE4E1FTvUey9u+xEsBPv9X3qUtGl{5If~x6SrlS>dM%AUoB47XT3hz~ z(gJ!)NO*{xelFb+tnb3~x9K~QSbXx`9ks8tu(wT2t4&qw(h zbzgLrJ1GLQH1j~qogPF0eLB#J*Ers*Vw{y;BcqPC>2ZjaZepf>7rUKaW3HH#qsg_f z?wkPoW;tUTU*5ST%)r2EILqqA7pW|5J14i*@HG-+KugTE@?O!~JlE zKtln>2Pbe>`$T4_LEU&yKV&MXl{yh#rqpsuk0co2V!;Hs5g>f>iq`Ly4%l?dJcj?w z&#VVm;i_29$~AkY(LhUntlfF7CKX8H!Z%L3kVZ%XfCfDP07MBc4VyQ%5?tZ|dyqCq zSV($M20C)Ci|D_oXD>4~i#mT)g62QTZp+mZ5|Ze)42h&=b|9Kq$jK<4-({Z*t;12l z+h1RowS*}_)Kn$toJlN`X!<%QRQe>^#MWQWgyUjQdwP8rF~lm4;kb|{QI)x!F+NSp z3^G0Vo;HH2p5mo8l@!k|Kol1so|^l3JooTBzptevStHVrVi*pd&z3EJ>V3_q>CxG& z2}?_n)PYHwUE&7WZx5N&CS(+6b6x#U=;tWcA46bEw}Ys@CJW;Q<0ORi!5ooT%$~f$ zq~yty<+3CXda_LMQ=Tl%{*$GlC(ESN0jp2NA*hQw&y~8fmK0CZnpC45CuIjK#pWTL zD3&iNo~so=jfMPh9h$LFkcSIKHGLbB%9{+V+pypBONf zo9hI$q}42RK9NgG(vu+MT)ST$&Ggn>cNRsOG}l|#(iCf$26vXEd%bn}K>`U&TGCr{ z;hEkl=9oae)r29Fmo}QXmj4t?6Ro-zfsBqcu@QL7Yy{qOt=_w-jlhS8V!tF^F`ja# z2iPy#c%I2?nO))nMvM(j`68Dxc_m{enY^^KGr(<~)5Eb$Alg`3FemRBy_3l+rw2b@ zDNv=@+IY3v!nAU0y+x(5{!5ri+N;A%UfSzPCNFJB;Yk`k-)3D}OEbp6{5O(O!%?1M ztt6v=k4#=IR$05L^WZMq)b-cO1fuXrxvZ<}GkNJI`IauJOZL{YEgHs5UJDbdT4pkO zmdR^be^f9t3iX9ntgXfgiz_zG*c6;Gwr-v58C$y?hfT#%c;h(^b;(umWxw0#kOnF1 zs4hsL%h6t#iH?gLqa&zg!fP#wkx?z1@9>}(4Ld`cd78^$dxjA76*fmjrWZhDGaH5r zAX`kPWCoc`zfWeA$@KeV0wXgZnPkTgJw|n&8Y}}nZ)~vtN+@Ygd;Rj|leZt2Gqs$o z<)9d`z{}qjey|p>LVm2}TCZGDX6{zXkCht3!FV7K@?&WeXZf*~Pjx(TZ#;pGC+_FR z(#Fm5V=cF0lOJp0mNWu)fN7f$>`_wOwM{~Ptfg!vh({C_8I45qAo?bzz+wqgnCyx`yCNi!N*Jk3JNdD+H7Cfdg^A9n zWJ0*26b~E;QdGSMLyEE^L88au6eUN3g!u~-x;EkjL_5uorL8?dJ{GOSyGu`b^b?}! z^sdk1t%jc8yJ=Hb3r;8d*I5Jp9rJ~ySPRM8ZRCpvbL|!%!*@>W4~QbsVI(>p<;T)CUPN`RR>=mLuK$m@ck9vPMiK?z^(zJkdjJWj z7I+Jip*QW=J=0j9okq8}XBP8N(4}N+EUR=%r5<~J{U({oAQ=p1=2se8JH_8cstBH)>07Z2rN;VA$#;ZAl zY1AdzIlNC+t{pZ2&R$6bbyOc~RRnQGWYuo++-UthCFe#%o*NCD+-Obk4AvKt@nd8a zrtE0M+DwpULafWkH;V~;CMafULrNHjR*=&z}Nhe>c80?UbjV7cxkY0W13_iTgeJ?oQt zr}L~wfJfEGYOk;~y;>g&!F`+ijA?-Co(wNm*OW;`IC!zb@M4AXVucDMzgU64SpEFP z3M8A)l0u{B_E;|^rAM!iYlNVmC{!l(v6lP3t&g?P6$uUMtmsZ6loCbv)DuBC$zNI7 za+Wm#!pXr&BvXDec!d~@`DsFpM5cPD{^f^wau%d`S2&pkd39?gq5uaJ=(E}ZQqF55 z53XyUc0_?z4GOejD9~qhO?81VnFY~_q_*G{C&=eccr_oYYMh)5ov#F0| zPS?lM(CA|DtNKW(nJxyo^MM{b0o2?_%6ugsDSgJBWM<2*-mq#+?VG$Hu8KQAAJN-% zSB3%C57S!2>oAhD%?5eBp#S~HpRQ9)tuMd6zPU@?Jmu5rofMv3JgxeBos<#XX_Ad? z>IBeecXG7mY~^R8{)-Dt_BDU4wVe=MFp{UcP{g`+^gwTSD})au^ZBJA2c^vkpPpbP zpPpdP`1AyO=+hJ2w~b6w0ffjj72Ke)4shV{4sgcf9sJBa8{h%%*$Ih{anGJjhd#eJ zW`kVKo31*oE(U%2!MMmnIs+>V! z95%XNs?l-Z`!vR5@6(imSav`1Ri25D@jf+N4472<%fs~i3I~V4X{En(nST@SQ+w5K z9Q}cZ-lsiP*I$XItax1-4b1yA*38Arv9edY``Lm@-lq_n8yDx^r@kH35*$BI&9&U@ zrD;^x%O93j>}GF;7AUcscc1QWKfmw$bXAD%Y&QWsgDh zz)UU`P9Ysz(KeG)0(8$MBRpk|37zUR9pURN2VMWy&E4&x9<^CJy=#pX19#H+1fd(Q zO_)><<=T`kpz;mB$GA1iPB8b+gmC1a>D|;n(^v5{hQ0YP-~M>ypXt@qKNC8xTJD#6 zp;^&8H_Fiz34Rt$5%ttPBh_rF1`uEL=F7i*rDl3ZcP<&rKUt}%ONsM^Y&fURk%rty zH1W34Q75(La$V<=J6dL#?^0(Wh;Hx^^rUd!PzzZDsx9HcdI=8} z20Snytlrg1DzCn5e2{!Zskr*mXW-hOSk2v9i-yYFs$*o@PN>3CPfm%e#9@_A?fHlX zbz+$nnARy4c+d0h7vjvp20Ptr`L&Y`9h#yqv{dC?>#c57+G&OWH}??@`o!`JXk9#9 zddi)jED8uBFs-9b##T$8qeNG_VvXgZ(pmqx^<02JiJRv5rpXrBt&79c&dvH%6FxoN zScC(HZIa6Mo2J5{k7%%m{8?^B(*biS_kjsib!}Fcjq&6 zCJna72eT-TE?mK1gpJaOaB&cXA+Rbr2qX1G5Wrbg0<53?KCANliqs_*N_%35UcM;( zu!lHhRX!fFD&qHqub@uiiokM>O9(?05tt`G`iCnqC5qKB6J+`-t{! z%5PN}qraj;!f4qYClAvpB#gFP5vFJEILjyZ03Xqn5Nr4L0X{Y6*)dVk-xa4IDI@gy z^5^n&RSoD>$soz-4G`!nQL<@3a>j=luV_>eDvmy)v6+z3?n)x4LmyGE2OrT`O<~At z4)^zzLJ(j7=$Nq-rJBR3IRT6{hjlK`LPh|L(oD$GiYU({GOpD4jW<4`sXamH-bXaG zX?;YKIehdH)j5eiF&1SX=Oao&OIOUNV|CR>G+DBy(p&AR_a)Rh^|mbGdC^BSnq42! zV0s_X*a(-Rh)mByB})a0@12%)J6h4+X`YlNH|n_An%3#I87HUlnE8n6%{a!4GP8dp@E*iaw&TO6taZ#Y;&~ zYHZ|T`fcPjHd5Q!rKGbdr}Gib>Ydg{G_mx@_=xsbSPo+*VlnV-?lYzVs(UiLSd(6g zjp%<%_U#y0|Snd49YUwyk>SpBD{kB^x9SduY{bVLlry3P_fUmZDW|R8k~Am85}-dhI8lF?yb=TLco-5lY274#))`A30}FU^ z7BogwlUWe=j#@&&mhP%WK|HG+AZm>h?LfU~bJQk7L2LQS+Sd*R@vN?i1cx}$HIeC5 zi@JIp{fL6I>ge~0@ z-bFg8SyW|6XiAQzE;thUyh-`sY~({AhvzG{Xs(mNzUx@TIwZ59I@&Z;?H^>gQ@Zb( zBu0{i&6>WBp`z=$nYB^mIH4?;NHzuVGH7qhS9azj8vWtRx`U<%onm3KX&LqIGYWR^ zKBKsb#1t{vkVt5h6egS7_C`+?r*_|x{BHTbiDQ6Kk-x(wA9|B~=#TC`qty;NXFj4a z3_haq$fhKFWYp(2G9S_8Eb>?%QKRuvsk8AB_2+#=W7WkN^)+=dW)iP!Sc$Xc2QxS& zP2+Wqu@CeS?VUcBLC-jS9C;j62as@(In~%GTk*-W+Ejn(Cew22`l|HMAArV5dNR)~ zJ#v#9U;?s7(A(&nFXMm zJ^;P=iaL>>I{i@JQ#WRYGtOL?OKxj%W&@140p=9$%`xunxAi+UPN*22hUHpt(->@J zzfp8&{7w<3M~A#O(bNJP=73-LXj!IZAB~i0*+(n4cVhx&zxptBbnUauKLFa(nU=W^ z))9;O3YnJIy7QO1@-B4w7+2o3!@Hj=XM{_u>TFHUoJ$bTC7frBaC|sHWQ;Ilj7M3+ z&FXHz{L`Elx{5O%3w*`Mg@)vUFcBI+Nx+jtjRvGQy8*RRpK|#;z5zE*_T$Uzzy0a^ ze_dV-?9}_Dw(xGy6m|XqXn?lr4X3n+`y)kXlUU6E6_XPnZ_1>|LX70leG2v?p0zMMycV`R_ins4lh4#RZ_7&ivpY_mf-pR zrSG(l2W=euA`SLb|I73DF`Wh7|N2&^AF))3P17oI8jYxoU6?D-TgW<;=sm;BT-)YrY(2a`-7to*(ARUCO1{BXzz_EW zpfl(e(Ze7#E&3Sfgo3NGEP`P=Fbk%@Ai+2ev#Gk5IS~wS7+YX^tF3K9z7}EY!~0)u zo+o?8R>;saiGZ8Ws}aOlsE4LVlt{`B&{85TZF2&P?mSk11e;SktRKJRk4?y<&9NR^ zOYPIw#%;ppbO2k^^{Z>Y`r6i-^c9+~wrRV5_3hW%_TBomaiOre`11DEyY#im(q*%P zw4g4joS)~Czzdjb*6ot5uf_0M3vlI)N&QtJkwF$qUW!m4D99Gy2I}*t_a8o#{;X>u z?UlT@lusS>L<&ed+%XK$oCkoON&%2f&|N59hNja1Iu5;szNRB+DF7Z)u-91A5t@QN zeE?niLLGuM7D2X>c@?PWx&k~aBMmv*4NOC{OmH(Y;^nCTpGuIYLKnM_TwL>93iAy|ziGybt@wD7hnsMYhx?`l zu7w22QmFfydnlmw2G0NIb!2~WN?tY;uea( zv@Cav5>5E2ZMWT4X=%GH8GP(!D5~3?nsm+;Hrs^Qt2VWh6({3eRPeCfB_z;|=AIT0 zb};u49xR!2tP;sSwPkn+G9E}2Qk?8l6NU#IqtC307vrH^n}mpL92yWoa)j1XM38OP ziWTp2+a3|xicWNvOtV%yqKM5u&aRmR8dPXOmuA~#3WjyE~ko3AR<&4BcY;>Yp19%6-a#9T9ycO`9Xf!T8e|S z*~5zO_%vXCXU8|mt}Zj|FEh@U83+jFWil^BJBcv06k%$m2vch>-_0VT(lYJ-Zrb^7 zR#LO_Zd$&ZHJb0;^56Srp%l+&b3EU>Pl>iO5VgE`rJJ~2S1N8OJ$&taLoIEnl{eJ# z4Ry0DhN+8l3)nOd^>)@X#Rd}!kf|`r{l*jquJEI zE~Bk~)zR#1G|NV_d}$k>W}~H@UoMU(?O$~?Hyh2d(Hvjf#tPYJkovb}wDqq#8q7um zHX87?Z5)Y>mKK}}Jhy+<(fn*QrVeKEVPy<#w2=CTGTQoA9WBg8V`@OA?5l@Urqm}- zWNiZ-W$@?pvKGRqmrbp?Ue;zsx}=x2q){imtj&+Q_VtyOMsz!SQ3g(}dM4pz8JNP$ zY#&}0ORGli@K%}$P1MVb*>lG1L7oZW(bLnt%pz&Ys%FdwX{NrBntkL-r_KM@vb;0a zM@g$x-qwx7xvX;%+q_^y7^#z0t+KhPw>e=t4b3m_bD!3CL-DqSRNd-J$9KrnXECzc ztz}>94mo8+nb0Xs5SGQ5IF+*?kf`MPl(7V5>n=G(gz)#<53laur)PBRtZ6U*@|Ty% zJK($T|LyvZFaP@E^`Bq<_|MDVe|!1EpT2wf7N69~(W;R7v5{o)|O*$Uf;WUj{=N36kC@}q%<#e1MBhpTuKd!7H9U(pJF8Im= zos?AeobBE?)u7wbrE?d(A`hIK4#z*#vO z!;x>Jvr^2yv!P+fmKCIQCB?5}j*rfYhx+~7WwP(@e^1n+&!76P84;P|+VDKrKcteI zHZ0EzAHjtHk+Ok1CndyjZZP~hCr<9&t6$%L`2BiKtB_NJjW9RAy?S$>zV;Go{kcwG zdOtY}1)+gWNt8!c9+oFc-ut*cHK(?1+qR9VJGE_0 zZQHhuQ@hit?M`i*&zaBn_ka1k$T`VgNmh~-?7gq+zIUadj6$rNLu~A?yIqOCc4R+u z($;vz`Gre9z~fpogTPqT9^N>9a32@uD-zj}Lm=V+ofHAg)Zbu?%*@=ll8{nlBhY(f z=ULxKXecL_m>^gq#Ybryq>W-l;9=_;Jn441y9+pAGEf zM6|iA(<)Egf|L5kT^IXFX0{X7mt{5+8gq%*8mEm$X;yyI+$MBI%a|e z%#Y2M78H7#L3^76Z6q8D7=Aj$%f@)EG6a7VDKykETvMtMVU1i2GSk~2k^~`=L0Ty; zAhoOIEDMEk<@zZ>EMFq?m+!s{qc4V(0Y2sCw;*aacgkg~~VlF@1!ft(A zZ-#!}aaD}9V_?yw)8wPZf3fR44%>7ZHmGtVn>V|^U~m2$vSh{JAUM%ArJUHdA}f=f z&3ke;IR2}B2ZNYnsJNp{c0Ix<{n}+Wc(M5)u~m!Np0y-~w#qlRY1c4beiXm0&yXQ~ zdJ*d81t7kl{e2F}4X8lw2m2@j96#h-$1iCcV00bQ0H%~MT(nyj55gi0gT%nXQPxMe zbj`!>=ye%Mtf!l5d+5B4+uyZ4Eq4Ks{CM)nF_t`KB1U|&-_g2 zEBMVnnQIZ_u`2F1+Q#9MR*Fag28Q(`2%HEWG?y$eL?JX(rEtG$>a|Xb+=2B3fFeOi znw=nf^<`mX-uBAzH{r@_a((UmOe9aDVFn9U-o|`JmGs%h(}j}oReBcMDn8ZugG?{) zJDtdU-!*R-{qJd$2R)n93XJ(}4)NWSd$GUkTB`DGSXYakyqDbOISVbpTSnh(kZh?d z)a@@|ZzI|Q{#Xg~+;CjaUBM{nJ0Kv-C1Kk4R;roG)=r*gnxg76`6x?X9gtM1hgI%S zdJxrpAc^rkBO?lrfLRimr2IugmIp+_Ws|ASQH3a&VN}Mlqun5SS;`BXBXF%?iy%ef0fHLx$lwUVLDj+}xbT^9X zFKjB}cv>x#3Ezq@UKI$665QLZ5~Kbx0{)yApT`$~PQwXIYLaQBldFN}Dj|mkM=~jv zLqqmRuM+z|Ad)CECIO<$&+5cfwao=A3cI3wR}0W2L@Ox~Kdsyaac7DHzVb*>tw5Wd zELLp3qFJb;LX+hrtka*0rOYh zk;=93_{7krDI`53s(Tu?T<@RykX$b>El+~aeP7^5NOg{rk+xyW6!(n`qmvCJxKO4v z^%H`W^@#{w9kj?yJjF>RYqL;h@V3M{PF_k zT}iMw89xdze7GVQMd?ktY2)SLx{BQ)1dsIs7U@n;1F_;!<}(x1a|Y)EA-~I}&PwS~ zTWkHY)-o(K0x@ypB)kX3jEBa?QvEtT3tFMBXRu)^fo$ruLqV*TBu*+URU7mx=!_^| zfX2e)8zZnEOkzTU*_eYqsOGHi40eWTE4XnPJ)Qt|$by^-mNr}tT6l%g!lbJch=P=d zLwb|djnbE91-zY2r5UP&%c|cnegDHj z?m!$AgF}WrT?Sto;Os?ZVY2pHO5p7@ddOLA#^OI5ehH!dC4ODup7Vn%%DXPI( zo_?tpbwDNRU~OJ$$g&bonIB{gH|oM09ss8^p;(A4;oBPvSeyU|;uT=d$!v;hf8AX+ zlpi)oC}pM^%VY{*xMjfZu!uMQ6|RJ9IvI!)j27VC)BYE&tG4csHM%--Tffo5;ea^E!%nzF zVkgmicASybd<}vfcoXNl!Qx;usQ~v~Rg7@W{&2NAt2fsRcBd7RDUy6o?N{kP%~9Ty zudH(AqAgC8l}DgIQw|s);tvSdBJ%r>2UT90c{H?MUhg34R|oO(B{${?fou=~2Ep9J z!a8{Qo_UJ23)!bpYdoppzIkwQoCQ8LN*JlkSae*i2TGJKjXeGj2*IK%H~-#J)=Jkb z$Tmf(N6W>_{$at6jRzxwDB!2hz9`eB!4Gz~mYoejuQb6P!pD8#L2p`jU4kPM1nR57 zi&P$x2e1DIPYT;?t-QkxJ9V0Qd{XSl0vCw%@TkA{3)ER7N8a1UWVnRWq@U?$c_61e zH=aGbXn>>nc6|$sT&b}6u$1HmE|#Oiak^= zX>t^U*UR}Ck26Y$7&)c?v7x(o*m26Z9Gcqg-n4#(@;A_oKfO4)_SOq?* zWpFt3j6t19Z|c6q8-FB!I}uW2`4pFCRPaC7?UO>7Z%CW9+6-v7%5}?zRo#Ks5C6b9Ivy>*geYvEKI5j|K`joXw%Y ztj;E`oxR*A@oY*l$Db}9Q{)NRfS^eG@T@Ukjq$x!nI$I9E^@o?8xSQ@ce*9k)%~!v zb{;4zbJ-%SLYjKMw+T9bxetD}jY53+705FX)*pJACE{vaf;+EeaMWV1q8vfl^oUrI z+(dMPoZ?hEUohPQpNMnE-_ZSB=HK;s*ZU64Ogqv0&M0%aUzCc(r=fk_(1Yjib$7yH zQ2KqYZM!w1#LEBsLU>2smTnoW_;Q{>H{d1t_=$Rtx9RdY4bwc5njNCZ?5%UDsn^3` zujr9IbJMqGah6}8G&%qK`JuRP#naB(E_fNW-cvROt_dRdB*z#*S^v~`W?-UZlhgUM zX+d}Q4#m>V)ZQYmB}cbeVZnzlq1sFG>eZ+lo9W%vNRQUCYn!;6^B!i&y3muONsqcL%XCzKheIw{KSDRo31Qts?2M0 z#@TnqA@EWN3U2UVj@{G7lSCf9L5tmEj=fpWozGA9P)Nv|pFzXV%4X$qRrt8i9vGam z^a1v!za1rS@d%&DTBF&?$3}#|UWQw|J;=oju*@NlLzF=D`rrid9zn4y?|_%Quyyo0 zNFDmW+z@D7rL@Y(g;ER}C^6k1zS1xYOII$$`)H2<=U%i^(kW(#k6mNk;3=X^2&1i4 zS{$(>zqPwd|JfoB4o|PCGI$jmO;GpPn3vBd*ln|lxX7;wCuu7zZ;OVS-1v)`a633T zdIogoePzI;ndRH+zDRuonSWKKj>d9?Coy@0=+2JZ#qhBYC|uymLL85w5KBY>Ky)=m z2fr~?Ib!swPv}5}7&NeX%viZ$X@d;qvkMB0kFj${ulXc>s~rJHT4TeR*w57yTYS(g ztf(%)V^iR^s8(Mum7yv&kDSuGxHN~u3I0~Q(k>X1J?7r}C9f#t@Xn{4tO@R3pxfBO z)uU2=7RzU>F;1{aVH%&aP6nEt{6TVmVv~k{ejqrzN;44DVy`@q*^4#(NtfFlZtf2| z{fRaGcm20Nav{-|I9B4$@CdJN@^-Z{<-VZxZWX`5n9se3+Dlv0@5@O zb1>d*J!XN*=_8}V4rqj7b~uD#wNsRrlcP;9LqX46YV*(SD|+MNTorTiT39@)$!L=V z%~@hiIyL5(HyXnn5_KAS2#R&%5S*LKbt zJ$GcU<$)8`EV`#}Ffj+)^W*`IN1*_>2-`LEEK+FzBk?g1^KDex(r;nG-`yg3Im^R@ zHkhKu8Q)ho{*Uv)JgQuxQVd~R6oE<|vA}m;Bkd4LOw+jkSI5cQHkBYA+uz~l9vUx{ zenD5#b-}}ok!1GL=ohc5owQh09zWZa;~?-L3N6R7k8Fh61q|+9b#AlEuofUh`!rb`a^PCcRx(I1Dh*c}!bi=*QJc%5 z7Gb{1sDm$(aUhKFGf2c;+JlKi>zldCN9!~B(R3qovQ>v_Q@KV;z%WVyuWnX17Jro- zW|6roscs|*%jOR!?#jLiZ!IQgBFK-^a$ z0q+9EsDY(lO@7X*Mge^rh5j6ce#odHEB-~tL`~!B zgkeIh+lzmUR*zBMC;#6){tTag#Y9(O{g?HSv%rJaBEM09@ ztTjnBWHrK}!FsDTnQpqg4!Hb3@&~6QQ#76~@XnZe-7EFie-_U!)9x!D)#&xQSBq>! zD$xPWn1fa8q9%uZ*lQ%Srxlu@_I}g6Dtbg7_?SKZSIr@Cv9?`4yo{ojO0XDt-UKk> z)RIJq%f*)3McL3FRY({1uWn*e^Gi3Q)+JiR_YRhbr7?@k6Kwjypa*V)X?V zmSM=NGk{}(_J`kxovKYbF@m>~Cd7+(iPB7qgi8*c{kb<26`X zgalxiv!ir@6%e8eqLA7V2MU)K_(s{aOPwT+@Zt-Jxlq!%$1*8iIq7x5@a7<2G|MpG zxmsnVzs7B^4v#YMyD3--9gAUm>r4Rd@9y%~d*WET2TdM0R?*oyQl1dJ%tJvxb+ z8s2GPGfiZqO=Lb)vMeZTg`HUQH|KE7k&Htgry*Ez2H`D!ubjrxvr=@_2!0#PnWR9W zxPdIYvG|!N6>YId3+1w@xDr1qZQJ_hyc=WKn?AR5x$uKWF|CE;`lM_ErVj!AXvHB#M2-xQA;;;9KdQ0iONZ4-!>^56ZFL+5fD1J>}hrn zT|lTS<%=A*R<(X!Der?GQ$X47KBFQR2OS%n>X}_2lV--wB1W}ZRMwF=x z4(%;4A@{nj&_o(lafR0GDz8-Xm;7!~Rj>6;r@r*GI+d)7ibxq$W= znh8BnxwxQ9WGY=7Q=^y+`jf8E_OZX>s&j#|)o z+lVz*fB{J|DG_I4yx)7!YxO~rnX<2vRfUJ4?s*1D z)ixSnHK{?|Q}Ux}$(Qik9vSQH`x90iMT6glGFhUKs=W4bIxi34 zK?Mni@FUeBUD!btKck;hHg(~vmUO{ch-t6a#=#)?u+$1FB3yexY;rIr`V4-fN&6a^Z`vQbvL9*TfuvFi{pZuTYEP$_;-d=~^afCTYRlVxf{VtR;jpQc z8;>d3WPbCnQQ30hZSn1#%yK)){w1t$wIlmL(koG!6Tlr`7&Ra~$|e?9nT#!xNJ7pzEK5t6AkNlocy|P0xLi#*%&Ww#pbevSeXd=RrL+}}W$*S<=A9^36Kr2oT z)ECl|B6fOcg0+ISbfV}F$&H0-8eT~Tq}Mg0zl*2R{93KdeC*x{#nVOAKEn0;rhlpE zY_WsB{}yQWoKbj8yzcfUSv{7kh73m#&9IzmvauV#MbH)V3v0r$#gJD_g*qe8Qu(uj zOevNt8&fGrUvYXFGy@)}$BJ4YANq6|%0Wf^O2$ujo`6jU?hOw2S9w;9R>W}Uwr5a} zON=LZxC!t*l@SEn5TgPuEzq&F2%tuhPGYz&pbLi!aeA%9i&B3QSu?=iC{;uEF~9IZ zt^i6pvb(fUgxcnMay1H=8l&nEI0v+9m5Zy5rcI`LO8G}b7ef4lO z7R_<;aAg-&c{rUns04A1m6Zpxx(x|)0f{Um7|m(BU1X$`H@4{}Bq~BGAw}nRndn$; zo*iC-j|1MG@kiGTNB;~i0}4Hk@_o}rF`95El9UpDVJSdF+Lf7S@eGTjKc{0)7I692 zj$~WDc+;ot{i#Qf>cX5Oq4zD>f)`AAB1*H9zx`BZ_S~M|fAkioJ!`vpi^w zD&`SJ{YmcWg^gJy{iK>sXhm!5TTDeO3Vw0q6%gDr@#02H6B%|8*aE~>EI1zQCoInX zhw~eOIDc)VY}LZ^NDtfgqbe4%X%-Ln`|}!y#+XFVf?)FOQtzpS9|unTEFX~jC#+al z_V4_+bu$z0WYg>lNjP);tjOvAt?0;s)1)l2Uu64#jNccPTF;fMB*Wm_UVg@O&5O03 zsdrU=hN2$RWS4SiZ-3KTy&uN*PKEk3S@bicCb|9Kt-qUxZ;8gk_uA+rGn8Z2F;+(( z3jJIdYKQOMLA3MT{V5T1a#@`1EMtqY9_nk4R+2%9`VCz*Ac)Pe##xv)(6p|NG)pqK zI(3lg)kSXyzL%_vr5l#A#hHX+g9r(=I&ug(IuE>RLBDh|m|7^Im&?XwZ4*U<3I=B= zgD9w$&l8`1;!mz%GaGy!Fft}l-~Inn{h!n|9WLnLiPt^&bdlDYxpnyDCsZwrNPH!C zktRPp;t@@Dpc*NhFQH&vwr;IUTZ#`>ANVMNP(R&}3qE`a3cvO@7x)Q8jsz%Ge9Ls7 zLV8$LBRV)Lwp>2)Ni~$8iYT)L_%>nDue+aOuP1k-DeT3hXknX+1%Crn>~`bo?0bED z-a2GylA#YPACV&viZWoW8)8X#bB~rjwj?Ms>UP;k*IqMtk6>H!M|7;^88>vmerjq_ zJpB3O2)i}6#(REQEW2;wbmbk`*C5eAQzSU&;$B%Khckadj55QJ$XOC#UZ{z*(R9>a_RbQk=aQQ?h0?H<0Z0^TOvY1Z|ADt`S zR8dl0k;1sNWJRGO$1;^&t+Mez>q0J3AQ0qlgx5DAlUvt3Vb*nX02$5gDWAcnA4czj za+>(81$UIeX#^2?Uh;yS2;2{U_8%5F$P@@H;I#;3@~LknAt{X;5DKrw&OgNjQS`D|Qwd%#*h#Mb`R`?Kd3EE4S9=HxR`raO zc!2+4KBrt(uR`LCc{<1TJ{kbzBWK2=`4k_QX_1K*m@}%-R1~K0_2$zm%+* zR>j04z(=uJ@leBN1euhB|DzT?0zchRMYYS zKNyek06q*10c(K%Wa;r;(v#HeWw#4+M#8jMB1PG)z#925`KiF(G z1W!|?`Wq>eTfqn0yZK8)b~B0yrQjEG%ljQGc=oW{dbHqi`9GZR@#R{_jvV=O%ERlfMBW!k4$G~o3p+E` zWX+|ZJ9H_J%eHf11V5+h-0V$fk2$G%1_<-VI$-XrQ4Rl0MSyR4luG9<+qQQDw#IlL zLEYyw!%4CvJJ%;e4&A`~yiZJk>Gg2iPc9%^P%}2anRB*WZwY;U!|d)sC79zmn*bfS zbcJlphYL^yX4m`nu%9y2n)I4-QLlMNzrjGlHQo8@)@;N0)&j!XW$90}WmUHdaY(sK zZ>iy$N7w*=Ve1^=iN(ltRqOT7fS8J!xa~_r--r8y3Sw?*shBCmk=M4pj;_ z({oKey}w%D^tP|+b@He>c*<1$^5PnUpakXo`1`hJHC&0eex4MU;s5Y`ac`b}_shZI z1KfhJ>Si*C;iljk9*R5p??o4HOl!c70@DKC0* zN?5ca`}G}_FW&XH1Tv!0kZAIa5KeeGqlnmitubf^c})a7>u+joeB`u*yZt3?yf9Q99FOIddhuI>MaU1a3nNRgt6s zl%1*EI7?{P@$|2 zcUHx;qJB>XUvD7a{})M*=x}y4#+cYag)aFC(oi^*R{=OF!Mony)}Ou&n6$Q_e%>;M3dx5G#Tfah8`Aa~zg0rt zR|>r#hrc6-OD@H#m`0jF7Ev4`$XpsGE7|h5RIM=ozHYI%zbIkuhqts-0aW#j`dv(R zNDh;@32fPwaZQPMV*GuXWP~As57rVyhEr0|EwR-cmvODlBlX3|^Q%yAla`P!;Zb!4 zMe?bOw$hiBC}2wxk`o_iHA+mHE!;P8IZ!A~)0As8RregW=+B!xmO!@gh_6zvRg$;} zf#}FY>Fd1TRt}hTNQH%sV$?AJp`9O@S-kgW_H@ zSuLA!$P<}=Mr-vm4$X#*Y51e~$0Sa~lr|XkeJC2JW3Jf~oKc!ZV}_HQIGq{(X&6s$ z{9C#!x!`Yx#}k4MFV1GAaQf0e(H?iQy+uvq@A?e*tjhwd4~BUFu!ralU@I+s0(ZD$q~n`LWP`7r zNV}w54OavOlCm0dkO-czg;b?sL>N2x&YntaZ z#pIRLwp^Fzk%FPN#1j%_h#V@zPI=Y)JXt9I7tk~kffA(qEWjCJonP;VlffJ;N6E2x z{c>Ad@4J)p-3c(T3#FNQXcL8R_EA~Aer0{&Y_lz-ZEk%aYkZwVZVO{e#y*P4 zUx%-qO}hQvR@uJ-+8y)geQgczh&+GljkN32i-J)Y+mezo;6`DClk$k1i2z{^fGr5A zd}#JlQx(SnI7n8<>Ss51-0r`$}D;6pl{>a=YLk*O#uu4C~hSX2+O=#+VSZRp) z0c~IbFgK@WC>rZ@dLQ}L?uYHz+d8-(HI%yH@y!VTkUZ5@?M#^;Gx489Se_EIgo6r> z7ivf@iaj0YNP{vkm%Gc?55Rxy2!}Ps{L_s>^Ig%tR&Z-;TbGd)ux)nJ47kaBYw?wM zRqd|B<3_x`nHW&n>eW_VZzM+WK6tls>z135*^WpHNF_kNp8->bNc`~timY{0AUU1{ z&-FMHv^2i@EgG8}p3RY>^v77Qd@UcC@K}m@Uz_vsZ}2j0gOpY|_?^1p%mb{=ebrT5 zFXdL-SQb+A%8$3k!sP5b+uu38e7L5&EK~f!a|mV9gfzCqvacC&2>dwRJZPS*#LMeh#Ra6f(S;*hMDr`S(Yx9t(>_6T{i1er zlj~+B>qwXBj8>54qYje1rCIuZtVs@%RlmLCbm6KKx6{Yi)HTNK<#en%8NZ<3eSfCx zS;sqFma6Nf2tX(5nQLT#&O^~?qnkxQGoNpofnCGl@X9O{&`v2OVmVyrT2}EdSJNq+ zFe4Ypy0(T%&qa56>5_;P$2P}@GlhwAL_pj6>D|X2;+-$D12y<_payTf@sl`Z-P#3kH#~I-u3_EUW=yxanf&a6cF^5M{&Y zN>XALV0UK|e=*k^p+haNn#@mI(E=N~^5iG#|3nz#U6tW&&zw0@x^<#pUEas~Cp0lp zkcg>}2cY{(I}@*e@@b^l)uJzgR|7&amg1HkBA|1uoUXLXUd4hHIv#27fy;r1wB-WG z1*$zCu)ZV%AuelmE0iQIm5!m4&}iRVrr6KirY2F5c{ca?!7uj3f~Pn>gf-|De0sB8 z>5DrOpHlCSl+d#g%fEVvs%yS_?o*$K00zDB)2W`hO@qsW5RHnScd?MXrKRJO&$jT| z$}bF?6qDE?h3XKuv{1Ya=Rqy}n&4$-@v)+}QoIgLUCtAfg8}qY0T)GfWMpc*lp9j< zi4Po{DAkv2HKojov1~CrWNrv2GcB1C4#HmJqEk-`-TVCw7FJaHGeY`weVaA?!=Upe zxYF@MBLehw07bYQ`xkKCq_lRQwb*Zc@qP}T1xYr1vLf8SM?_I%SQSMqL&=g$*;{bA zVM_i=Q^jNl&neBcL?rez;eODL<D|&oboWnr{VX4{A!?#0>8Vc{m)HhM=+2W_0NER*p^`}GWF%#U zo))WE=ru{&#=?bG$>5ZW!=VQt45FnJb>~qyQ%j+mp9!1*QX^b^|_~0dA=K zo8UcJJNx%R+^l*50n8tUcAhsfZRQ$!73~GCJ1?OcA;EZ?rk*ZoHM4pf@+%^IZNKFA z)a=dKRV^N-Ry1U#H?vuOz6zJAC;2(NR3Vg_{}bg?=MZ^JNAH6a&L}>1ZZ+{IfmXX0 zv~4l4q=We*f4)>&u>DDDktz?Y3u(=ottKV#T@=y_vK${?f*)HfP?K4 zR|(4q9;;!^Bl3Kgf9*f0~b&(qHwwga2Yyi4xLT3YckbX z7)^?3J>9!2s`d3XH8oo79%pgbVR1+{HFP3vRgSBx!#BUg?Px6~Namcqu`zOmE4+4*MwEI42 z>echLzr>bUy-aznKtyILT!VL1Z$EpsQ0`c!|L))m{%+cd+gD0n@c7jx6@0P%tMf

f%Vwi#Rq)5I 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%0A58i*FLGm*C!Tr66U|KX6=$x^HnYGT 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

CaHyJY%wETGX#{OY9NE$Dn4P6}0S8epO_nD|jE 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�DiFMz8`H<%%>_NPWlxRFz(MBq0JeRV`{fcDqqEg(l* zu|c5ix(>91*`v?5y=IK@{qmZU`Z@sC@06l_|If!6*vn!$an;h)=j;Jk#@z~vxaE72 zzfGE85mLSy)Xz6^qMubrfj3eDfy?-Sy#-%D4L@Lr>III!X1d~MSIgR zD$&o;_>DfS7XXjbCJ5IRSY!|XUEl2c4xv(L4gw6Rmn88Mw5UJ-qket6^?e_EX$-f4 zp)1Jd)SD)A8y0$fGi$yHHK|(!nlM(gSQykg=x%)Lz*zcUYVn-`Lan)w@q79S_oHD!e+x2oDK?^??26=9)q5 z6!!x;z}^?^74uosqgMkF8a1T!?d&(0NW{wwcQfg;=WBs&(hgSh>Hm? zLN7N*WJ(?s0jZiDG_XmMs?~IgX63SVm2siZcdzsH=~UDz{1!VqODeMuNiMS&Ni4Hp zqEfiI*({ZBTA9L*T0i;5%*7OHkti*M5i2Q#kt;4#N*DJwj8UtTnT2e__Dr^)6Mr}* zePct>c|gu?&hV3B#!@*J(^$^P_`$_)=TL1Zv4boT>{bG2ZExYLAup}X6MR9Yq&#=r zJ81zse=+;?+V6;Dux;0VVaYd{x7

eY#Zl2jdARcZ;_1KC8AHQSZ!OTd&mElMhDw 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�h44}=-vvzl8@pjo3_K~CgG~WA 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%0A{{bx=iYR0$*#y;C(@fS9%DZjBY&+FTc*U)FnOn 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 Hp#t?kn}cD> literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/.perry-trace/llvm/test_json_cached_reads_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..48739447cbb4013c3057800265589b7d1f99ecc2 GIT binary patch literal 415378 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

vU{71r%Oh!_)s5wty(-EQb5Jq&rt81ASR$R~5 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

@#4=wUbJENM>F;q0_M>Pai@2}PE0u2 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%0ArZIV70?+Ds$ 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..25feaf95d7a5db8ceac244edcab9ff28791a1393 GIT binary patch literal 513 zcmV+c0{;CUiwFP!00002|IJguj?*v@z4t48L24ypJKl!0-O~yI0xcI<;IOK!sWVN} zI(B5cL2%e3AHXN_CD=(;;?N5m0N-rSym{}<%zbd6a7%7)KfWce-;p2Rz7zJrqw@?} zeXd#O>=9M)tV8F%u%ovoYthwMWu4187lQ53s6z|x=MisaMN+%GoqGD1HkoVn<<{_B_GWlg;?dK0H9i5CZcTH zH5y5a0b=XmuQ7Uzp_Wb@vQC2;Jsa{iq%mUA%6G+Z-GLOsloh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..22781c62799ffb3b102fcacdc4b0e4dd75ed49d7 GIT binary patch literal 428100 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�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≠u9#Y@+o(0S_Ngv0?DSD0Q(#b*r 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%0A;aZ0qhGNTlBtq|v#5%=zJmQNk`yuxuxzK2s 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 >lU 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 oKE z{Pu6E`}zC)UY~}i3%9zFAzUD^;28fgUc~(rX=nU>Z?$%D&Juax`OCXF$Ua_PYMSCg zT@M>Br`#CIKGzIn~3Q$S=-^I)ogVG4%iNLE}Ab7&|A$ZgPSlx&Ct@!J;;t0#G!5D~R-4Tsry%7S?0&N|>p~zmKOobhx zq-i3l<5kOZjE6e}pEw{Dx0uWpq+lMyNqKKsSi%@7g=5%Oabcvcm{CfyibyJ9OC?Pz zB*Cyx4Xjg2)Bd}>**_f0o!yB$0lL{ThED|xK$59x>>IG1p zLBfB~(S+-OpgQFWH3o;=S%5>iXhR>qv=&a+U|9Rr6y95dChO55q<}}EG1}5U&s1Vj zua~{9E4VYws5x^!DR$zv1uibO1u7XPzLRr9dNYMi{z|^L`^xMxB6`(dY*>NeN^c}Z z>d(vYMBlbiXnBa^fWerqHXww{wwV+oD9!!nC{uQG9esX2@3+3j zOHv$to__iVhfh|2MlZ&V|MgN~7UdIkL}L`)(24%bQJ#$J=IrfSXcEV)Hn;{nsSb`_ ztRs6%(He|?;cAE-oP5}acWVtOXRKCa+GZ3Wr{5HoScU;rfu3oB>@j2*>@}d@H>`V! zWDwZWIRuia`u&PH@U0$t=l12~htN)112Qt@ClF8VMx^t5QSK}kC%@EnYzg#aO(>V! zgLMYuUXzFM!xi@8iUHsNfD`~s0J;b3%MZ>7{&^+0-+={uxb=j6xPb`CI2Q@ZI19tE zGwdLNBRt=Tf)5ouzl;3`9&im;v(&d&U#7&1Z`!p+i zB^=<>oLV8H$y}jr$CBzzeW*bT`*JG)7%Aw>r7b|i18Z@1Y6bekO|&y1TVYQXkCVGV z0?Bd~e1W?sbeuZB`v}3yz9Zu~PGsTi2qXcwxitZ?xh3iC0EJ_G=vLO_GR}Nr$}S;f zac59;X)+1>i$7P!v;3)H>qg1K{(>+rUW*ayaoA0f-wyMnRyU>CO;K(`4BQmcHjA9$ zDJ<+&G2jpcBnlRu5BIks;TEu+5aV^*Syu6_NO?gI zDaWTC<=q8LC*&lL&RCZKVeq5cb=yLHXYJ*3sun!tk;TexHM*Jkd=%8!f=Wtsm?C{w zq|-u+zCe-s%EPa&kqWm>Hv8=5o(p)TG7IQ;W3jq)DekeaCtqGF zRr|+@#d>JUyedbU2#v9#I&e}Ki7MqRU9t#gOCS zx*GAg&iuVTXR6nf@A$u-=*f6A6k+NvyZkzY9cCk>=X}hea`x{FwFFpTtW?a9nttEw z&-8XP3$K_>+VTmic?nwgsDuRVYwfqh%Lrw36_gwH+|JHihS0oqio}A`Kpr>3;3@46WYY(Z8;?{Fu-^JwXYbi05ELQehopiCYIwmlU>;d zO3XO%73^K6AYPR(J=w`>zSblzp!jjQF1WE6J*x=Xx}xY=i*v)ccRj?dvX$aoRy4?s z?o^;!ai=zzsBe9WwWr_6vCIo;NM<$mb^0;dPoLbv6ZHhc#Sm^MhK1MHQQk-(9*yQ0 zH+J%u$)J+51JuAiLbg9fsJ~7g_XyWiLC@Vd*>L6tqI-o%qLF^pzmuD&EIeHiu!|_4 zk%nzeg$f`SkLrKI?8@Z6EdUb4-;A94rP@j7`CqKzD+eRp#PD@pHpk5GUGC>W&$(x#@ zrXN^?iY1IL>Ff1+e}A*?l<8%ju92IVe$1FXgz~IDNi>J&9tPXjpmkfF&<`?R2=z~hKj-W>tH23y)e3{l}J|C zAeC2XBb;x@KBTja7bm`4_oumC;QP6`{qCPu_J9&3ms{D$rm9Bq+1uAkPv%~pw2WC# z~<`{5RFvnnu5g4vi7-RZtf?VOTsqmqc18 zWQYY5@$6@z8YqcQG{29V!LI3h`Du5qb~yuyg7rp+I6D*A^SApRrW17J!-e^7_Ft-v z)$#LO1^Qlb+J{&gf77>gQHtPzWTAxP96hAtob|f5nd(=4e**blj{1KXWSiiK5XFj` z)oXu;2MrXuA-p!TQvYzN%_Og*bu?!5A?MV*Fs=r-eMnp!> z(KRW=eEf`5PfjKK>D^&LEn$^1^wi*Rp$3eSVIm_&I6R1`!C}F=Jci7^QU^B4!OlW3 zPb^A)Kdh4EkAneMi1Q;3rEU_|l|H@7i|v(*I%k4>?Hp%>M?c3ics~NpxGF|DS3EkIR0@Kh-}xEq6}; zsucjndFzk545XyL!1bEYp&~Ob+EHzCgEYz6dTsf{;jg$o)?d@9Lw#3oBxxbVSzFKL zFo7>+mCho^BIs3JqUa!t1yP2NI@`eup*%zs4X+zQT!VDZqH=$3+sN69q~yayQ~N|C zrSRWpyN$$NS(S=RELAd0EQRAt-s_-dUckWfjM>=*4p#XX`4V;A zjNMS!xRaAB7IL#i@wMujgYllTSyu3!F@4U2GiE$5eNd>_2z8#++_JJJJL@WvAAiFg zNQ@x2l-@pu5_7a|3}R#a`^^7YZlB>gQV4-I1|A9-M8=hgUN^u7`GZvFMn%EL44)t? z?E!?r7Td`M*=~_VJ`YfUST#ToL5vtlqy2ra6*~y2p*jG$ZgLUJ(UQx7zn|V(O4q?` z9FgOyfY*T*JP_|4?}WJJ zbF0f$^tkU^YJZlUSV7cfv%c?jCej#c9?K>?Bw!>oFzogYv|B{viH$lCsT}>-y!Wz? zxc|5ic_xdP@Ns<$AzmUhF53-v7wG-&ifKC^5`_Aui5k@J+iV1{CH=sHF!pP`#0}k! zs%Vusznd0rv7k@aj0m~ajL2gN=m}-@fPhWx7J;1Ai1@~SOC~I z(yDlrd4uzDSm^0F5;lx2!EA;2Ht;tF6MTdB^9T?kJXrXfgIZ_kqsj-w@}cGs&X3Gw z0`iPl=4ST^dEzvG+8QuZ3C|*aH$L1|DE8Z3Hj#XFRXtx(hfDshl`!L)QG6d%E5XTv zvR1Iw5E)Uf=`1fxL$5=hu^OGXW?Ii-)odNfE*9Iui%GD0Ib0Q9C_Z4Ox)nk_VD5rX zkF-D$q|{0kW>TOmJ}`L473IvZ8y=juxY$t8fgOz*`&)MN2k9ZMEY>|Hvrv$-Orftx zu^S~yvDgr~GwRo7@#afGcl1K7iufIWB;^<`iA!6r+^0oZfDx5%@)&TVsIypNARuky zFYBmM;*9FVl)xfhJVealidkoicQQut4xYH?Poh~=Ef?IE72-WK)WUCR2#;1eecLIu zEthjm(E3now2ImVg^@J{-j! z+2KnpuLOD5tKjWKQL5cW_Dw;B1qeKGTnU>>E+&Tro(=4DH%4`1b0(v!;_x}S5YMMn zUf$k+hUHwWrB*c(pddsn5CcKGsXCAHkeLhKOg1!B3D_$T%*GUfHwV)S6VZvuXrVa( z(npeALbCV*Z0XxmLh{pZ!VH!(Ej=^0M0|P#;(Qhmk*G6{ZVBITgdE0h3Fq(^U3<4i zzyyLHfLy`58t!}M^f0-@nLvEuj)-6)k$>~!0|&XdI> zGU;#Uxf7IBV~$Hj-{>n(40JkrbwB5MNN=GU1E%gKsL z%@U95(I*0-R9*iCB76apxnk9}_Av>5l`3EtXf#o5XdsA6jq=2%J6@lI_Fm$ohsIc~ zsY>qp>^Bs8wQF(3+iJ2(jhepTsMWV^aVd=xoBRK`s$d|q+EEg5N}^6tBuUC>iQ7Vy zb`XUf!~4k9LR2XxDvW}olPiW)v8bz$X$@(`A+0$iH796>bm1YbJ;XI9StUlf>bj)l zddRB~mY4kK)_?NpDmBV+%%Y>%dRiy7vj{YXhLCpKCvm%5Y5*NlL|R`gGb)r zP;TH*&f!p&;gXi&Q1+LFbRZl3(xXzFhn29(Sx@OonSN8na*0_^Q%N12UaJzMg4_)V zc$Lu{StFg;`fB@LTd>QFUalihtBqSyt64J?8oA;Z&Az7~ROm5bnX_2*d{SeD&d?;( zCx)4QEZLo3#R#{RQ?0PEKto4`&NnG@CPZneU%evLzWCHXVq;UuUAxq3U=D5qrVq1O4X}lJGNZ z%~?PFt@>4zormQRjsDmcCrfQCgx$FtW_k-xieYp^*i~BhId^8I}}GhaJ_`=!g^9NXK#Qdlk7Tq8Ny!j zS+;Py$f@6x+D7QAP%tFzqGl1=BufpNFTz_69{I(6HV5f^Eq@ynmGCYEz>T=gCI#G* z4r|*N5FlHLudNQKT%&VPCS}^&D~$+ac=;@=$eziuPeHKDhrCALXkaBE*8$ zxLv9G|NP$J^uyf5zu-~1Zk8nb7swNr+9UF5g=xbMLi?`>e?)4h&~>V>00qCGj}F#$ zofq!FZ-=XlwY^GbJDcXnx9nAOn*@npMH8$8lGmm1cE7OTX`JwmC7ac0Z)aA7SnD(b zUx&-cKK_)YD5+EqYwj^{K!iTEi#}cI*{O2bS=^qIHQfsR>M?#daQ}9mQ^J`${`wKo zsQ(!d;UMGGJze==@akW=MyL%g7s}Xt5I9EWW{cS?G~6eOu)a#e*bv7{u-07OrpIWV zeQ&bx7B3EjCuT%0RDeBkgkeKBd{;!9yr2jXp3xO7JYB>-c37&vRH%?m{qi7Bb{pOd zAKNh!$=X$ujPhPBR#0YAE0Zr|PbH>W-ll?SCF3-EE1d*lLE91&;V~p*JrB=#BQ_O` z?uUh8leR#Z{u3|kY#=Uc?5fMza2pDGb*6IF%3023;Tt}NKabbaDbgKhjqrj{%TvPD z!NYnjJVPwNCtX{HRbRPM_MKFw=8V;vg-YX;f97l7^?1|Ht%xa9EYiPLf5bg=x9W1e zn!1F-N>qMg&T&Wu6pX&A=zxlSNx2^E=F(DSd86?ArUlyVNMl=Nz|IwI7xFhZjC|04 zURo_S?t&%sScgJWIWrJCQ&aT~c-_{N+Zw?+QH{xt!d}SL_$FsRQ^5Tr2cw_E8X-Yn zSJ5*mUk(^4*08X7M{_Rnk)C}1ymtPd(c%>oV;xNR%B_QC3;x5Lto9YDC5#wEGR~Si zhMeXgXtF_}=^j^AyI=!OXD2i^3pfy`{dAkmx1vi7@+j?-sdoSW7GCz`sa+CU!RGos z|9-f7#3^-jI>NNy&@_+L$3h&~!-h)!u(wa_om%{`yC?L|oMa1JxefwI1sh6$`DOWzG)ZFo z8*EOS4>GGA(Kl1#c_V=N+rh8<(&r6c1^VwNGNy0ZXT%bPAY4(9fADj6vN-QE9sS4X z(u({h+fHs<-MNUHbe;jenF?ruGOE~FB8CsQ>iv;4MLDPbl!K*Ow}zU=S?3$vfBldV zrgn~&{Ge9~famU#ooeN2m7gXc!P^)gURfp1cj$+_)v4RgQo!Nnz3nPq38TPrdljZ3 zpB*FKH9<}o-`o?nR(krQi(=IDD)MgAr`nT4glP(j+Z#l#Wd{m|t{G)LoY@1BQ{@7@ zg{2?5W!-O`#F&}pSeZ<#dKmlueR>p=n7)~OdKGf87&&a_j(og#MqubYgoEo@~8cl6vLDZa}CsOu*WOh8!M!Caea2 ztIP#dD;&iaf!G$2^_z( z10Re$yYK9Gh?m?K@9by5AMgG<`zs>C#=-lLQ{uy496in`UB(*_Of?=+?D|2VMO{o3%LJ4i^qXF@uGNvHVi2o>Ko{s)> z5xw3kZnT!6yyTkCr94kjm`Q8^=T{m>U6iGsa1tfW+L>TAds*f6|GqkWSN}0&{3bJE zOOM}49l3TI{o0>?;l;<@w7DqK$*0~Hw-qwYd1tGl!nLvy(l{*@=1pz_yKbRiH_#p= zgVMK-0@|{EH4-HzLj}nt@ttD;NQnp6FSd(cA zftY9D4wh#?F?oVi>UtEC`KhKM-b=stQN=%wV5Xg0%TCX^X-zY>X}7SG(zI$;$uG)Q zm(p;?6NJa$Cf~Vf*Rvl2H#B26ko*a~@;Lp!SjoRo9cO6MTm)J-iw1&EKziJiczH6bSb-{Fo?Yym5WA@|sv zI;%y09S68_flKAh?qGUoK=YT{l|#$Om(s{j%ha$R7-EVeL=9xl#pl$qu`}96*Ff0z ziC8Wb<7=OMHIbcpeaPC|9nNavf8k-f@_QTu0-*D{$FVz}rmL{Wu?XNZzUUDK&>CYm zi~)rJ|2;h3ZOncMazIK0O};^RLP1|L_{I(u*v2N1@7D^&Da0p(=N3;J#-EV2QJxB_ zaKlC!!a0_iZrkPIp2SgqOPTe_$)Q;a*M@Ny)UssGs zo7TDI4Nk$h%0iyhr-{j0QtAN6S>yC3ya zY@!P)U`HP}ht~RpLmRt9)i{jq^t_!#@)L+=rh*+IYA z+0F{>ms3AVhnee99IS*T!fE*AHf#}TWo%_oBgt||5ott7B+bWDL&@@3a1k0x1wGT4 z`U>Ni`WYBYgC#D-V zVw2TxFXfVeoQEEyYai+KsjeOp=$1`VGvWtQmG<9`8HWVhsDEq>Anz}H_dE#Fk~+M$ zezPrF+v`vsCf=9d&qIo*$6ZV)L(s+lu$!wb%BUUnfr$1Id!z-)a_>9j2FHa5L4VxH z^??p}v@_B3;o-xitB!IOeL@iYXwXi~kFg@T!Xo2F9Lj^eJDW)=KrxeLuj@pQ4ucFh zgG51w_@V%{LXHTTI15T^0pAl1x13#~*nV(=8R6*&@|?!j98uCWir>78jbYeZB*2Ao z3jcYN;=9`sv;cgko26JTZ~Tm0rpRg+ImgvCQgh6zj6HWB(5PMBtj1I3=8mzJbYBqR zD7yUB>+|yQ_B_b1Q-@O%jq~c{zKQmF!E=ztVQZGNhKhUL~Qi+D2d8Qif~d- zLEPfD>2@Z~eeA9JUW}V|B77PXv~lB+l=&A!hODw?A#+7PD2iy@_X;7uJOTI)m|Qz7lQDsl-+yA;fdx5 zU^kZ)bB1*hP$y~oA^~h30_Rf{*u*aV*Y9XBy{&xRSwNj^_M?82{qJ+0CPZ8)Q!D-~ zD@X)!9kajqBZ}-c*+^BOxKY*rNA zPw{MV@`nhk`VUqt&Elif)*1D)S+A$h=Y_Xx4||Y!;V#vLMfpfR=V9k|$iDc%6dMJ< zY1%y(ovd?d1*8kHV-LpM0fAD+&B7P_rkk-`53}B05va4q+#HlY3S~aTIGrLJAnha^ zBK4(3+r&7%B9&I%{u)f29@Ib3AcK{3S2PqlnLMA&Vg8!40xNi`b=J*P>jG3e>#AM$ zTAJWki*z-VJDEh*#q`kt1vY8A>mip`cu#pPhPE5JkyF`d%-ddW9v=tXdVQICb@2h&U(ZGmH$~0`)c&T_F~Z3R=lwS96-4S=y#FnhBYQ2#Yw2 zZs7*Au2*SFmlKSbWmJip;<7$0#Qx}#&r`AAg*p&}qYD(=mS~EGC)y&(h@(`JKbB`}i zGcJ@Tfng6Bm-Ub3`PESeGUXF~{FiG8K8S^1D;;@+><7IEaS zGA1qQK8taz-X6p9b|oV~N;Ga;KjXS!pB@XR@+RN1YB8%#Pf|VD*p7ThjO8!PpU%Ot zl(%U{MScnu-5*NPgQ7o%iJa^l0el9qt+fco@e6ASlAo(u!EXws1 zOIZMCE%Q_Lo%n6>gvx?&RG%HbR6MtXfv5&Ki)lqTYwGu0n$Pm4DSQwh5_w3(j6c;E zYw;vU5gECyDppPid02j+j6nst?SdM5#$tKzt{o%j6z>R;08mK23M42zDEhYYmt23K z-YwjtpFpzkfNkHtGFejj4K%Y+vIV{CuE|(HoAgw?U{3N=FN3{S%fHn5aLZjUC+RYn z45U;c@ITJGBw9Z&%8j&iz%X)<=>~glxv8ILC?h!kkS+~6DVZoM4!=#YEQvn`+(C%~7*YCN4JV8RK15^~|- zGh>D~{z6bwhXV`D(VesZF3Jn({*a^V-Kcq}`>>B50+1?kNpU1=@C|1~_OK4O@;1) zaCI#bvLD16YLfhvlJ^3O<|Xp6>xoZ7?N(sjm?#emKw@Jg}$ z7EyvHAPIxDMVD`J^)Elcp!eV^h3ERIo*_JT ztCBjK^Pb=jX{~7}qE}BlZ|2*$K(D&Wf3%{y%73(CZOMPMqMqD8S~2(FX&L;be%RcK zeMpYas-Z3XfHNA#@d+BT_6R!Exto0S$fY|;IIr8{Y!mrKF}Q+3DcFy#%qWdlea7M; z@`|E4ruCFWsE^N4RB`mFg@OY}Duw|`MM)s32r{$1O7LfOZhbb@rc=dbD8kmVNOWwz zjA?8>2!HI30A(5*;5ph4=GtF^QTo3cOFj+$`v z@o-G%M?=!IO)5?w3~9BDu0~mMqXy&GL#(wTl$zZ-vXkp9a4C*r(81W5|H|enp*lwX zwpK!RoWaM8OVid!v`9AN4mTd$MDX9A{QMT)UdUHSe3Vm;ZP(~AUgm(GWFN)S?U^z_R%tlw^H0TRe zD@$>CNS{8kqK!um>EV(mIpHT<2MxhJf#IWD`Cw+UqMwMDotvWMYXn*!7nG#C7V8SX zb@8cKZRJj>ctfMa_tz}uqCC{ggfqUla3926Tn8#)M@=`$&G?FK6 z?_H#iZqf*|{CIE&^i*TA(7-p>`U=GfI?E@(ADgYqYm0}8H;V5n#gj@VF%O(A#gw6- zhppCF^d_Jmf$^H730vxxO0*#kk+0nB-{sT-UbR{lSCsK&skB;!aiUYl*u&h?Q*O1y z;~=TfRbU~^C+4Gu1B-tlFRnBc_oSG&HL-P}MBpHt$obd?+-S7~t*}t)faWKeOgShW z!{(>WwT0;npbgjU*`_f(~>~3v+Be_Q%dHS{H+TgA8OC#&&5OVCng$b1A$)b1(KN|OZmG?`L^D1 zJW_;zm^Qy1bfn57;Qx_#9S$blU9KV7UA_VbX>9?f;h4z~5dKZz$gY;y z2nxRGkgs1-^C!WV8@M?{(SrukYKUYOBCU@%c7OmO32yB@KhVX9bEgwR>R$A`_${2$ z!t22_mCOH@r7`kC$YA^!zAtY7Wr{(0Cm-zlB*Xk>zV}L|?!`Z?QkOs1*20a-vt#&Q zt(lt@8x95;2m`NTM0+k$oK5Gh<1e-WieB%xvyB1+IrP=@!a0PS1g?_^`oR_xILByH zxJ+3PJrlT8F3Y{_g*^@e=UAZr`^DHisgEV(>)|Un7x^~@*$fy%@moX+;brI<2!qAY zFm1YO`4Q!c1M`sikMkz2TmIbytPMXIJ!L-`aXuXqz|aeG_OKFFB=ZWYO!P5+(eQ}V z1Wh_0F?tj=`_(mwz0|EXAAMuq6HDMs7%^Z(U38Wh&|`O13tgc6o7Umykx6o7Q#xT+ zfrtDrf6+aR#D`_yJxjlRS96>qNPWm(A6VX-wDzIPAc%Eqjzpgeb5}`SA_Lz()U$pA zbDz0p|9&}jS0zKTx6tV)vOrqdQTz@9YR%Hv?0?F`~H-*EMm0|ja?+$yHJ+@snDFH zsB2Q>e18(#lP+!1@bxG&``L13n9Up>seIvMn z5sh`4-Kr*W{O3^ksdWZz0ng_F$fLlQ1>C>49i}T&2bn{Ua|fG)q7l5ZPvgy5 zquH8g+QpFzTYYtbQ?4_StEodxG8vdKSqJ_eM4GF4{V@>Sc{@;V=S!AQrmRr%LvPd6 znW^Z-3rB^EVaMj|parJrLl!2jp)Lu{Q*Y#3osXVxuitf z9yvG(&hv`Q9QF_; zh`8_IEZ-2Mag2O2U3~E15v0>0fvq*LuSQEj^Y$D28-Ywg6MJ#4pWx`jkl$ihzI{sJ zh=eJ$?howdCTZ^Gmi*I@S=oi1JYk*B#|)%^A41*aEbF2i{nd1Ye`kDoNdni5kf!T%l>UZP zYLdC@yKI}&=hhqu95qtPc4x1)QT>`r{o(t(Lu~`XYEpv>-1|(2E~<3%wBJ{;lL~ui zxUKD9;9D+FIYHWD3<{~Wk(ZgVBbo5Z?g35QaRi8kX0J?0`})5t;|YLFfK>XnW(}So z(dgd%#={$@!?h-j7AkF8hfvwX_ojn^TNXpggBXIIrTF@;|gq!Gdm zqlgZH8Hc!OMK#g2a|s4)aQYQfnW!uo7F^@zCHyeYy=}dR)0y7wTW2fiMuo-fjtsl( zBpek`ho!l!abhoMBph0s`9DKNted(-&SQdB&7DI-E@A5X||!5GRRAmlSNEIP|G`mRr@CSjW%HHSM)&mEo&#q zV-o>7{AOoIz}Osjl1T+>nRx|jkaYzM!QNyayXWo=6||ID`6v#32k96HZ;~YN0H6g) z0uP7}L&=k_yM3*12W>sC(GgvjQp^vtEVLj`@TD9Ch7~rX1-jL(5*GhBKA*$dk6twO ztf8vxK*(lv+$t$4BV0?=ST=&Lk9CvD55FcR*X@yELadyJHhm+k;Ml4+NFOs|!JGMk;9 zGMn|7=@eGmWu+lE3kfwB33VDOT!M#cO_YbKoS0I#Ot;i&aN<~zWFaapO%*wv85DiygPwE{wl9ph^GNmE>R((SRUcJ(JDsW=Qy zNCxr(W`o7cX7E^7i1a+RZ8xswTPOp;hOXwTQUee-EchTk6P+!#@2@1}H15a`dHVXC zKHlB0kItW%S1T*CwY3(#J+^#U8FdPwD~luG5&OmcW!8H`R8bpL8e7!6oD;OWoW}~^ zdMP$Ot*>yDpbB z?->h&pcZVRYOFiZ!Lg8zuc}~3E(=+$)#iPpY>bV{06*wOo#@v=M+~_piRQ~b7py5~ z+T=MnaZsNH@W5(Y9BcN!VH&d3nBP##3gvcBb(=R+s8b@WYozr)FA}! zI6{?De2daaEoHg7^*WqMMgNmTg2uJug4TPqq#g7W=#csCwG)r*lp zd)w)d;1C@M9H<;~H)n-vf}x<=_2@CQiVTyf)P>8mzbi<}6a3L?Se~P!l3)#uF^$^O z3yqvx7OE+}h=PN7KXM0qKYD@L<(zqyCXCs(hku?bqDBTgl-X_dlbG*(%20rQmZN31 zjiZX&nN<42$w)LEmD~l05J4%6*pqqOk8sJtHIYORw@*_5d94QJpOgNoC}26lKbwfc zD}g#N%~=TlH3)MMGUsZ(W_S?744erh2O-@e1M*oL+vDPto#8+z6vlN1Wj-}?9RH@STD$m zaI$V4ecnBMOd$O#X|3_upvZn}?fu#p_&m7P2d>Cof4$tg`aXYLf8HD(e7(*v_PidC z_{2(aJw|yuhkZt-Q1w+GDWbst2YllCpg`Z2T!gnzRFsunWmoE z4aP0U3Bc77{4I;uLQ|vufo>-=H5yE|oVCpyLdwD`2dWmY{m3ihelvbZ3}Yr7%E;ek0M z8U`3Uzy)(LaK_OXV)w(w?~Ctys(JlZEoA@Ghu5u%&`A1&l$8aZjD=;_LnoH^x~}>4 z<1fe))4Mg%bj=bQ+fhH)&*9@Fi{m7r{r6e6T3M`1j0>$?MegihUtY9j^$bQ@udzfRBOOEJ9v~e zC;V~*>{N_PI0JwbzM}-A6Bp|{HSU|mD;hD}2$L0Q{p9wHht3S*W%&w~ncxh^ zq>4vSdVYvZG-rxDZtWgu5B+m`38!Rwgh7cZnvP7RvQCvf1GDJa7h?C2odMjWDQDopyzd|$n6#WqQpA^)F+dJ>yNIrbJ ze33z?6?wmUa>D($v>u<Ns`0NGG^ZUXLzK71XA4yq*<8)(D-2|TY#ue`50C-bCi=gVq8R65p!F}h7%KW#lY(sB`p9lN|zzx&YjMf2f&Vo{2e4^&l&)s)t ztkM@<5v1g8_ly0ep2ltf^Zx!H-maNjxT%^w?|_a5`{$o)X%gZ%1W{in-pTfH z;{tz}GiVA!%Sw}QN^+E+h+r@I^kM> zuw%JPd$LxyiBy8Dpt~cLP;S(rp!h{QP|nzK24`;Y&bu6O*j{JQVfd{kauki3UQucX zbgFI2x!~_5v%5ffyty~Qzcw|6@%lu{> z2yTy;So~G?(L_O&jvj#%I5_pfrb|dJwI#5)Dn#E@fqUF_U(v7K0m-AEXNn%60p%JtR zl*pp(79Pn-cP=xY5Gt6WM26#&w32)&zHHiotb6@cl%a-W*p16HBxKoA0ZHU+Nm660 zVUYG?@F?s>{yhug)^YUclwX>V7%!?N_|p_&qtbD(I&hW?mfOmTvU=pzYSgC+ShVhM zR{L+v?>;&Zb)S)HwD`S1lDD~kGbO)l5jM~rbA`EJ&8aHhbJYo6$J)WXUJAR)GTK9r zgTRVy->j#iYM+4@3E{pn58vsv@-s*|kU5V|$DS|Ka3+d1t{ z!;%eY<~eyvFw)AJR@>Q{79fmY5xo@A%pp+a zyUw-#f9vQmI7tsYK$)5C34f{lVyC@4!L-vr`2d%|WO*W101AGjM+_Xu!6I`2S{AoX zoZF`kIy92Xzz~jnHvY1~BBZrneAh52Cu}GJQ-wbQ6TM#~4^zZ4Wr97v2VdRbir5Dc=l7W@JaexcPj9ryPgCvmcEnP|W7B^C z%}_r3Uz86a7Nj5&TZ)Y=*MZeH1Y<4+{ta?xJleWyUpa7Q=7VNrqcBZ!fHR==ztwf% zAh~X~#=Eske*{^Z(BdH|KgqQXmCO#91IUlP=EUKYpQ3fUyeJR%u_J}0LOKjs+*r(a zI^=MJn`lA3gr~PiDo^JR(&>9edp&50+x=&t$jsJNH(% zKekXJr@$hQ?UZvl>X7NpfAt&-qqF&&cFd2qkMUm|})5S9gGq-*^n`+LzEF$7NRYlM0V z*1>Ot;YR*aL@c9!5j|!A=aN0i?mbT=u-E|{oEdE;DL3qA(6Fh=zKV@d|CJl2o5)so zpwKR;Qi^aoI*M=^AClcqx(;Tm2kIjL8;}c3snDvYfaF)e+vccGalC!!dd@v||o!5n$ z+Xvsvc9VC){4Nj42k;JECV=ssAL0I^LY?|F1j$5dwA1$pSJg*3Q zK*~l3nM%vKOjkc4sQ*qOI*#dUaq)q|wmL_JNp4c}du9rQJ816)99ZVj?4}AC-6S77 zgiyF9t@>J$al$ZM6{#oQAtIbOq_5A@Ho`e3;F${ z>TPy>cgY4@o=R8(Vm->Ze4UiLPLavaUU7E(lABz%CI|SOx8o}DwL$C7Y%NCYFA*^K z6l^aMO8795X?og|#O!CEP(C6}u+Z$`Wa5SFH^(zhs~R&0jMQ4>|bThk_u>AYEF97X={GQ?qK?$Kwy}Qt`66 z(w}z7kU;&v2(C&THJy7}`yp?@fQ#vzu00PIpo`o0JbXe!vb**`3$H+66CJLtHp?mu z3OPMyqbu+@EA+O?hCYKkmDrsME!U$fv^m2K7fsM9s*!D2RcTWaDh6O-21zZ^`8x}4*0S>GIn;}(AsChUw0k`$oa#wk zZ5*+6*Pfdihj?6XE#vjF)ik=CM3jl%dmMqu9zR8 zk}UxS(f}Q}3F-Umsedd#a8nur(V=tuZ?)_IjS^dvVrz^>Y6$mewRKoVRa25a5+$Q# zl+A>6r+1w8DffY}VwxQ_N$}Xi2_P6opZeoKRq3RerG{h1&Rorjs%iXT%(|aB-A>(MTwV32}FsRQEK1rNl1|yrlK$A zHl-bD;^*Nhlry5MetyXeAe8XkpO>~?=l0~rq?G<5+EHlGMX1M@(&XS_URbBwGgM_8 zxkrR~sy}9P_F!AWzJz{C+T1a92spN7|Hd|O=ut?KL)mU4r7pOB{q=fz(EGJrTvaOd& z!?LT0S{tM4AXoGq$#Yq>`JzQ#vS^nFwT~=9WISjc zt>e9m|GQS6Z*>3b5mK@_CUn)W+iBQkEX}DiEU}DoLDK@I-GRznkpsdVU$?(Um#vC6 zw7)*4iG(|=mxtIeB4jGf5(OV9@>miLc-|V_r$02E{VWZSe>G`@y%_mgm=riPyg%P< zy{Q*j3LqW7NU=n#b4fiv{MKcYvNlV2KF%U{aY`r)bC3w9fDtqBoF%Qm)#U9tRba)U zHl4i3aNhLzDF(WE7s(AR;)B(XyqWfa+#mM~CFI?a4Bj2xaI_V;AI?xR93_ZE%<7x* zTJp!jtDpF;D~@T|Q)w=eCHQ{JR&#s%(V{5Z04}IWLS*dhl7*dv+WDoMN+us%(?(3| zM$2W3c_;mnt%MEr?Cv48LI6~NE4++Biw{grU5`si2Wjm6;YM%w>;3Vy{wMOWKj=T* zKDQta^~XL0)wA8wr9f~a_wtRw5Mj}*?Fg*&O4j3*hCeI2KpYMNJhhn$7qZ>uGBW;% zLt#JS6L-(~B^q|kj}A%btAzfOB_3~nxsd?&uq=WA~ z{EQ3#3so+7(Y7>cR=ogBZP!f-V^jIxp0J9nUF zA$L!s;VnI0TS;dVC84INH#SPM@%eO~y3-r0usHxh>t!=JTY8@emOFjfLvk$R*f2R+ zo>3pKqq)(8dNi~i!HD5iP3>i+ogEeL)5<*miyf&Zu^KbsI&>=fEmjK`za{5OcocxY z)YU@8khav*Y3;0Wu42qq&>BK1oV)}RSeD9A1Ww8)nM|h`BFrXS4o`9$2Fw#)RAzER zl)(L+cb#bENrI(GAm&UVAAZ#9%=hczGSdQ1PDW|ss1&F`l;xpc{@Gb`o1N~eh^Oz2 z-A+@gpdw*+xCr`F9FZo)UAZ{hWv!0EvU7d*$@qemYPS;fqzb-oZpp?^yD2SX2!9r; zUGuSzZJ_Pin^_l3@htygNGEE5u?E*XV8nqrpj|^`vs%nAfd-t*=OH>jy#%Rqq#2OD zJj4zzBar+3k=~_-%K<@OKv`!X`_Jl~{?6JJ2xzZP=wClmA!)kr5XoF8Cal%Qr@U6I zf(Ea;OD5Cu1!&rqQIl&@BJo^STO^J-48n}-2p7oUw_1G4<3^49j{FE5*9%eR!*T2B zhN2^#Tu*a{f@o1zNtl~33cXxvtQ)`dFruZ-zA%vLqt(~9X;cBF;N83cYj(rM_@AOhIB7IS4}~{r#17(C7A##KFskkYqcplqgUv3hG5E{^LZ+J zUNOi>OF2nVMI;FFt6x>-Og8=+qP^xs(k#JA*~N_=FsVDi3t@+ltsI$a1JA=+3O^?umk#OWRj z`FP}L&==a%Gd6=yXi^#pw@?P%N>v8y$g*-3+~(!#ED^F}D9eekW~kprRKO4f%B00) z6FOVLx}HZk1tXo~Mx^XrKWVebKXsICpR#5h4(Qgg5&N&F%f$9SeV?7yd3_0V0SFS<$@-DdrMrgI}S3(VZGS+Pw~w+FTEVRtd}}WJzn; z*wf(1JJ8^K+FhBR7M(kTxpfzB?5fVE{861RIaFoY2b3yvoSN{~B&bkN`$nmZQH$Br zXiDt&YwH5PN>g++>kjo?>Kd(%wo*o}!RQKKcjmg!nMcCCUqOC0qyP;m*>?95>{p{hzE$ zI~trM!ciJvuW77V(vmU#f1u6`kZgU&#>CpNS<)QUqBSmrkU3VusudW?Aff)T^`NI_JTBOFP>5hNz{Ijj&_5D|w>)g2 z#R(zVNwxn2bikW4@~g;2%)COkdmfG-P-H<2R7#2Qyaf*elD%#&0;a%;wHeHfV<6cZ zfm5a76;z&r)^>|E-?IqSYzM(P;R%rZ9|Pw|Lt*muzYN?NB*w}sg7=@kA=wJ?ZyO~_ zv&V!~b|dd0Pb#~r5pUX8UF)HM%iIxX>>C#h*Ohien;GZlthMCL90vkem(Z5z4#fJx z?;qYVIaJI`#79&ne>)!0vENPKGKU@52l&9RcN9mR+36B2ZFgu-=C;{-#Hs#oNRj>> z<6XDmj&L*##Pm&#ET#fEMf^J}P3$`>Nwkh%%Fu<8XyNueSEx51uJ+}kNIgZWIo1h> z(=ukKoZO+4f|0u;#UTHFq(4Uxs}3(^XskuRO-YLoO;X(=wV=jX(omaQ7E4^@2=$7? zZ5wiBcIJ_%oQw<4)J=)|EZdY417Ru7pMCpuC1b-i`*iDK<;Ro4!;*!qsQ8on`+rA#T#a-n12 zjc;D^_Pm(d7?;wAQ_l)2fE65p7>!P6(Fcwpr(8KUas(&XZ7zFn2%e?THc=)n2sqzrgu5aUwg zZw}@gwRn_A=7+YUeHi(1#HQpsrRLVLf6T1|>;sl5wHpV^aClaTCszyDjSDpke11mS zQEn(*8qhXWr`+s^Ek~j?3JSStj`8mWS1y4tt{FHcpy=)gvFLFGvG6a5qzK0YwMh7n zh$YD4Qf^Q`&k3TW%mk@^=5?pS!v0)*%kDJ{KT2!iLd1x$31-3VNy@5F*rvnxt5?Wmov}Fs%riNb6KxwMG)K)_9(V zPBsmBN@s!sFQuMMjkNysaMKNYr9ORXWrn&%=zQkDC@}xQ-JG*!wf--Ez0#PWH(GSD z$FqhdZYgaM1CqjJ*A>|sJ=%!n;W0TR#UHQ4)zLB{i#H1|akDv;*&N1tqanG|wd!WM zA`$jJ+(<8{yi*Ft+CJP0w+rs03dc%5+yeay$ILz*{m+pL>wu-%b%1jK@MJv+p~rg! zh0SwZ{h1(Ic)f!MiGP_sPG{HMCaz?x4km%Z)_trudir=qq8?R72HH#=L*|oK^dq#q z=5l51?&O(2p;?KcHJvt@+cq0~$I;7Koi=YgO_!>$WXa2paU|lMV1h+HL~QMjy2Q%I zF(C2W_*g=vy2I@#H^?ygA}JmUB4Y+Ma*&SDPLdwqgAi}0RW$9H_@+dtM6P*%o;>vQ z^+pvZ@(g)O8eWO)y2B9c^Wi#U6|`xeAYW5J5bSG0aSxtjhWEdyNTTc2O5)x2L_zx( zgFc?3R+^AU+>{E(Qyo-D z1RozOQKu~SO4WgOw{t5LDhEk>bSZx(P&3%vPP9JSu-8Q}>8iq#tWwehBWDR0-|X*o z?e;5XMmDo4>?V6cGhB3AaiH;(6-zz2`b#V6J?Og6{YtNBNrMH${au~8qC@3EvM6^q zfzC6=9g*!NkFPjpXWFlcJ0Wm3+}`O|Hclv59z~)#GT<5wMn>qB=%`J&{`07|(A9spBbUJB7>e--i<|IaSNYWZd^a%$IX~#7>Nybp0<;_SKu$Zp}J!+ zeOEo9Jcy>=>i**5Bo2=f;VJ*+2&!7rm1+KQ1m*T4wZ8Qcth`Q~zZj8pTl|l(^}dBk zSo07$9x|!apf>6u<`B;98S!-33@12z9H=|8 zleE@(cObySa%Bi(Wmyq$Ba&M=3O&Cn6bh+uB|7}=ktaEca@@)!(M7^6(d7;>7J;T; z=(fe4MdrgR$P0h3>kc%`88<@$; z3)|5o0jM4y2{!a+V%tb_uu=?`Vh1qrPvPEL_@8jmC0I{7)?yZ5k{^W`I0yz=%>jp% z_^xt)xLvJ6E6mZ5EJv`5LR$+$xQDcmdCwaw4s2R&FEbViBWA;Qq{EB)Nq7yJX1K3o z2zdk>oFN~LI%(7(9CX0%!F;dM;~o>^3vJu($4B|*2*wk5YdOLs0WR~_Y3TXaRfLXX zfq{dpu6z8(w3fvP%u$r7@n60wn8|plu5vO5^UmBvr3@(>^0Y;9G*Z=SXapMJt%zA` z!x(5&*D)q_o+vI-jdcvBvjt6bK@MAEVO%&D-vbzn4)F}kMxwefVWyc$t&(rBWn;SN zla~o6TBqufJsZZ!pEdsT8D6;}>+veb_ZR$ue0HORJLe*Z1_>?V+{7lqan_i<@}72) zgBU<){Q}j8H*AO~P@+e#IvV0~e#-Xz^Dk#KGi^NQ3kjqBVTcJ(eUzhZF}t0YV?sq# zp}0g*fgA_<13vM1UoOUHcgv1`K6V_2ZYC$IVI@6I>BqN3g&*Hi<$eUEOk5}r^G?aW zZbJuyTAr0}penMFJ%lpTq;8c^5;@Ml%(f@H7z)3W+2Wf!0Kk;?7i>txSquQgj|479 z;=i2iDg7Aq1YM)}6x&o=S;)4~#>_w=9)pc+)kSgIYGAUTgBF<7=$8MMtwSv!S1TZq z7IxnjOd4Fl1ZF<<&~!lPpCHv@jQlMut|4lYv6BQVoOp!GI|0rV1syGz?Gj zb;8h1R4`atBjs`_7WM-_e@KkVt2_rnSx~?jTDhO}?|?!Bj3f;Il%8c)Q!b&Xl(Vam z43rwoM+Ad%q@MkjSOwG`RW2)^)Vd=U_0ZL9TO@<>Zx&bZ=AuZ4V;1?Cd*M5@& zxWr0E*`qCxzrj)`aEVQfvMtN}LuJ+Qt4?YAt04ItiP^?KHld{RQ{40mQlM>P3sX$~ zUjVZhOy_$TbEAgv)MZB)!V!hcNlZEsJ#juqQ$aP@iZt+!@B_Kl4-}bP>R>hIWU-qD zN|#DQaCWdcX|g&;G{?5h@u*N-BNRXCUrhHDPxu#o>tBrdZcr$`5Q>LtlOOe;=Wh`H zbKm;Uk+8D(f>tP_0Z?g%dm=!@w*ewEb4V=|uS=m=C=@^HM@pfXj1leejcu7>y9;Lw zN`VajE)77LH})~9#Xa$BZYDzdpMO)2;kdmL}F#jE{t zd*dv3ZF3l1+4y9jXTDB=W9ii?Dws1w6uNwyDgQ_!NC)aUKpq50>$A*)o zDt!#KWI9+gJ`M%sGqf zvJ1EpoeQ{nPBcy>PF}$E9U6C8n(Ld_3s3EI+U!miKoW_T*HAY?-jwT|RHR%g5x`irVFa ztnyImhW4_B&%}WB)1G&}3S85H*=#l*DBH08H(xi|nZ_b6yhtGju2BV*FA8ua3eOpx zaVdl$K*6T^4})vC*bnxifki3rKm#M&n|?lo1{Q_YbY*Vdv3r2<)IGrXQ#02O&0Js2 z+;*jE@yqV3Cgt>3`|FQCz5kBB8N`l(qi`qw4Yes2Td`%+19{C>tb4Zs{hYS}jot>R z?%z6+DLY^px?L|K>ulGS@0j!!qBYndI1JmuVdN}?XWFi<#I|cIn(eyaj3ss;JG5Op za=RYGaO`ib2exm^cWvLUzkR!d+joel+v?ifT(xKSh3geeOEre{m_J+1O@-Z6)^|3r z88N*DGauQeSq7Sq0!0fRFT&?UmkJ0al+HjX)-`XlCDLPffVt>+NDF~TkFhX;^eAKp z=~2iQ=~0MNNRJ}9#pN8f)e3>70v-rK1}k<(dXzCz3qyL8b6&#;vWAci(&HqPYmgqp z!dphm8FaKPhV;mt=^#A{Ng_Q8*&;m(c^>IeB*+uVQG_0=dq|Ix^YKdgOQLdgNxpa# zC9i|kBo}?8M>Bx*XegvdAaEEsxS6<79$~Hj9*`b&sqEU) zQ|iv zlb@c)hcpl$QselLLX!B9LL&H((;2_wLvl8d(K7SDW1lVXA$i+akl~VFQ#GY2wT%xs z^{P|LDBA@vG%G%&ahjRk89iEUNyAR>wOi7lUfPolT;JpJscTv>BA=*&87#9$HejH- zfN_+QvaBrM`a~)&`tu^~nghKJZ`1Vfq+Z!U3`q_y%~IHbi^=-_j-|+bl$IhHu7rgy zB3o*Q4HJD_a{o|_gqwunFR}}{&S7YtGZI=m)I=XUdrQ5p4myt6d{%MLHXkYW7&>d} zmRNge`g(Y;mN`@7d2BvXVp%pa++J&&kCc4F=2L*tbgpg&g}Iz|iDNLA)15NOn71&O z(ST6FT*{a;gjoGR_LCGXe5nL!>qlTNr|+jPC^WxH3fYWOOfdp5m!bZ_%XqRGJY0Jj zXT8ff2bXb1!CVTl1#=nhe=o?N9?lt1xZ}NU7|;#ghq;W3AP#dWWD9dC$4a=tu@b2Uj=Lj7 zlZhiF!^S`~usfBlwE+*pQ*9IqbE!_jTqX;vh=*z$9lfl;+(Gmx3bm`FNJwIS%XWTC z3>s8O*~(1yU@nyy5LzyL9OhD`MJzQg3<-s?kpv>7uJdz*w1oIfD?Tg|T*w7+e7?Vz zLUc6DrIG_8T#KH9xlEApLi)X1r(%R`nuHWF)A|+}0YViS0U`$Ll5;*~1PCQTMnIfw z%NJ516cI4gttW%hR7QYMY8%;16EK(RAk1Y7y%Y@Od~m*fA!^6NV z?#Ss2sSvIv88|nLBo6~4#t(yZQlEyo)CA0>!eK5I0dtx4N}~pcG!FzZ`&-Cdks)(S zm`l-O<_cplm`hE=Txta7QeOdcsX8#1st0qaD40uyz+49Ze-GwTBQTfx1k9xdFqayG zxzqsWQmyMnGJUN}Trz{Z#KV_rJ7-MLtwKwJA$G_mZurL!bGhtqx$|}(I*YuoS6nhT z$z5FL6*s)+2$0X{2r&G)z2YH={|+5E;u*)zu=Mvia7<00C~6EQQPbd<3WbAIEmGoi z@m#?%V|3HDi@X{lM>V(Wwl)gw4eCaR@}UY=Z%B=((vu-kr7uyU5-s1^=Z?AJ=OhcVm7xHeBxbe*9gP_M#z)n*+tlQQPXOwu zw9}4H4C9Cs2^u_3fNaic)$D(8D3T?(L34*ESk3hC1yF=%7|3R%Ppd&Tx#um&W@Kqk z;1pi;nwH`aJ$iu+wL#Mq3bM&FE>8Zk1|XY}kG25Wyx?IF1s{i%U$f}2~!TT06z0M-7AuW^f}aoshp7u;-~Gq~C4J6z-39XfE) zH4a!44?uGk`;ln;cOmp4ooiyyeTptKD+vn_85LY!0I;{_wfgHK3?iuana^Q;`->RQU4MzHGHmo2Iwm zR>9U#A74jE3U4WBPVF}RURCLX(40EU(ZPc}z}aS5_@RSbG6oOw^$sq4cKzV-@{ECK zX(p(HTr%D|lqBU)640T9kub<`Io>+RB~zVop`bZ+3(cv|Ky&I1e>0v~dkC5{gcGkh zz7jxlhE(D1h0cFE(43OX`$BV?{m`7{SgDJ>wVc3KkQ^9`BsUEZfFAVLTK3UHbAp^? z$<3X;uXDQIW!HAgI@fk9p7GXe+4Eo9t-M1AF3U@%GNc~%?d!!W_k-C;;rD>q7}*80 zG4dFgjj2;!s~*jHW#TY~je%LB^SeecY}U_Kxpo4g)&vNz7h z$cJ}t-hTV$_1_*}PnrfiJj-(;G;;Zy{cQi`Uw+H-|N1{2**a(+J!v@2K&~mi_}gWs3B6Yf+|HAhAQ5eK9aXVWp^c;7aLoB9;zYK1hs{l zV9m#gnxFt`f-*Shw^VNGi}!&g%|T$v81{#CXO_1(GvP7@Z*RhBv9;Cw z!r1lMpz!t6+xJi3Pbb>bw~y~9!LE@5yxnIScv_-wza0Gg^!R@){rd6Uw5;F1dVKfO z+sA2rzkB-d^8J6me|+_qsqoa+6G3(E6ZL`LzyJed5Pj^(VU( z%YhF)NuCGGu`)9z&X2F&e)Hz-x1kiP=1%+b!}#1OCnP@h=GQRxAEuYRd;IR@`?a5A z!|tc{+lz+XP`i`+H3%p)AcDLelaygoNBl*Sa)hM(uR^PsYQB2+mzUokl@y;k!mp8( zr%pWot2oP-!!AhZ<<}pk&GvEjP`)1%l$iP9t%k<`@slxSZHA^Pg0|`dcZoR1US+*w$i$t0O_B3~GkJ zeth-wtcL1Zy#-p%!yfgvR#9q84L~^m|GPWa-L`Egj(_)4co_yHKstywk;=LP{jwL> z0|>HBr&??|lWk;a(RUw7T_VXx&aup>Zu+G~E%EXv&(Zlwxv|>nfA>0@>mgkVFRn|=G)q?L*JPJ&ivA7hmb|n%SpEB-&1^fQ zL+T>N$-Pf0jA$D#S9Yn^X1{yf4;rKBQl?%pNT!&47w@wo0$-T_uzOF;BpfncG`NV) z-Oo)oRyr~LoA2}7`o1D;j^~@zs_0(4O&2;gO|^>+hj#Z;7F0MdQa-y1=Q!UiG%Dy- zCW52XPtZ%~q0w4%i;cYcl_`&mIC>cR2kvF@4ORe-G}QB&`Fj3s|+q#YC_7XVx7+9Tqu<38Q)bROTYHnU{qmif85 z>(z4CCskIipSvl#$vsI(ni7^P4+K&|4oE1l+Y!fF&b0G z2$YfeViytskvGHA3xn{5VflrO3NQpF80HOOS`5R=(yV31+HNQO{I zNi54S2xb_TX2_^GLtviazIcW}K*O;>!y%yISfC-J5)FZohWkPq!hx4O9LqEuVj7NR z8Zs)>5SVJXFRCFetRdB;#BvRXxQ1i7hKvd}1ST8qi)=^>ZAi&B0?RfWVjF>F8!{@~ z5SVU+FS;QTh$jV>ZUjU(0-euoRJ+x5a5XLoa}OMrzDIx!WZI@ z7UQs}EFKFv0)iZYg&Z;}q2P6%;Mh~*qQD(6s`b3$L7LtC6v zPRbC=IU&S3A(nIKsGLJ#&I!GJv7rEahgi-DA1q+XLm}e_{amJvyly0MW3A+- zjVm9M`GZ~@J?5=S8QyR|g&9SpuhgN_t>2=6%!4+aX#BLv7uQvDZq6}8Z=GnnyiTT% zqD{rR*R8ufUAR3vw#s_MYIzUGu6b*oJlV9M@jBT)oS}JHYfmLU3UACDw~RM}=3_0# zxwEH8)#x&yG!7AsSTm8M%Oqltma%8YlzMZUF}nD*b-1WKX13VI=CW&~*;eP(Nk`L< zbo!sY?$h+6Tb>;#AvxobqU9-z!KZpa%dD)VR^#PnTQ;Ccu^%f=*U7#1VpXOdb%Oh# z^&ygj-A6Txg9G=W&UGK%hroI6L;V={(d|Tcp=xlV|ESM@id1XxvN{=l;K$Yv)dy{z z1c47@?;C4g%0$}MPJ-5v3B=_~Xxlrn+iXjNCjo0(Jh3_ct6%u5HqU9qc%YO!wz_Te zBw)vko&?;N)gLnkTah@y>{*>@da&8k#ygCr)ssM+Yxdoc>MXN2?fEfw-|a=$?&XPg z&u*Iv9}eHyfy1Hf9s`G-!VjH^^x;hUW>DoURM(lvwlj$UXQE!52?^THB&rUrBZR!> zOo-%^*mKOe&5PM_CL}oOObGGiOz5&NqfuNZHxqVL^c{abeCnP=?iUonZLAfw|q>#Bq}_Mf>127;xlOv;+|gX-*ALaZJbT&X7dw4^`SyMCKZ1+`Iv+(e0M8Mg&;S4c literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/.perry-trace/llvm/test_json_source_length_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..c6b81d0729f3bda43bddf6036ca74d63427de1d7 GIT binary patch literal 295256 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_source_length/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..7951b9a25dcc53e21e6bf917746a2970aaefc101 GIT binary patch literal 516 zcmV+f0{i_RiwFP!00002|IJgouGBCP?e{C(Ani)TcD#>la;qx@2y|)S0>#zJa-7-3 zyN(^%-XJI_`2aqVFTr_SiDDZl0CyhGoH=vm_#rqU;ehV$KD%Lt)vsy<^5e&7q zx@hni4do(BagE+)sk>34;$9JkJ=-c$)3= zG~ML+Hd}A@`7Y*jiig3kvzS-&#|#F^xR-HY*~I2$nQ{8-6D!wgCbo39qiMz18f$%> zh_r2|G@urOh`SSijnQKcws_`{bXu56v$3u~%0xd}3EoeFl|r5&`a#HXhs!a@7*6qK zb$vWr4o3e6L(Oy!Xy#Kqx*8poQNDrbYLcR5{B2Ke5XBU=${^69^HANO=l8eh>l|Gz zJ~|soh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..9a258ee58cffe1a71f0c961eec1993de3d5fd1d3 GIT binary patch literal 98703 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 O0o|=_(%u7s1^Ryk%*JN` literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..58bc80b2c5823e1d32b8059231e2d92e6cdb522d GIT binary patch literal 74296 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 HMtb%?P6ZkG literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..82ccacada835f902b987440d0fde1f1e152eeab0 GIT binary patch literal 516 zcmV+f0{i_RiwFP!00002|IJfPkJB&^z4uql1*w&Y?L-M_x~CNa1X?bz>>gH?U ztz$>F8w3ZA`vdri{1Tjxl{oYQ2f#ObX5PGc^ZXE;khq1Lo4fb$_5=KQ{0{V!N9U<% z^|_&)vqzM{(+-{cLXX~>q(#?Yopdf`EX(K)jXbo%o%|T)F>`NSD~v=+K3jL9U(wmb zcS0)DBrYqc6sA_S2$(3B7!g#DG@uWB1PIu6ItIBET{ydlGB!^}u2k#3UA(kfM_LgN zT3eqrdP2zJwLO~}()nrWSDSd5;GYA7ccK>`rBhv4yg`FbjP=siI21ojO@?cOW(z0m z!dwgvJHG+i3rF`>*MmIkp0cXfSy3J{-j}S;PG#8~SZdgC8bfa<&G>}D2Mk`7v4E%L zx=Pc$s@BDevMBPH&lwqJzszFZ&L1-vB;#Jjf#o4K-(khsuOVbbUZq){m$DFbhD7Vj zM5Jvyr4d>TBCb#THAYW4#FCjq5-nmT&BnS7C=)GdC3-&zwiEJ%(GNn7J6w*BSw>Ql zuP%>gcZ1je!B8`uEzEp2Pp*c&GRhw?x|*i2j34gV6)?h}RR&Ot&SQNAuWqm5+x)s( z+&dd^o+Z|6-28`MdH_KeC%^U{14L-GkJ-OZ)kMYktQI9w$OF#VVnFtjMScQF(u+Ch G1ONd2;`A>7 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_template_capture/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..200f71b08870161785df5a9305cced7a1e2ede1b GIT binary patch literal 167754 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%0D?G<5}rk1gsw+olWB1lOo2F@;30vLr$|j_pGeK; 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 ZgKbIj+HsMRY1(B0+V9i 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/.perry-trace/llvm/worker_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..c1d54e06a9806c0e816ad993aed68a94cb2d9765 GIT binary patch literal 132048 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

Y2hw`P|JX62dt|TSM0h{uzM&XVw80do0R_Hp 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

  • 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 bJ<>nfPNRR5fgdN;|4>lKdsb>|5y1W*M)+N2 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..c6191721125391c5ddc444a489cfe763cd509d04 GIT binary patch literal 503 zcmVkyAkfjk0mW$*d7Vk( zjblf4HVBF<`2aqVFTqZ762&%9aA_is=gqu%^L#&8F7N=ix1Zm`+Yj*T$4{W299l9PQECZ}jAhjykk8mQinG#*%~{QH!SIwsq5W;WH~^JFW#%^3~Xuen)E} z*K;9t9oZzMg6mS2e85QBNb^CCNJA!CN~T89#EU95cB_|0DNn&;p)=)Kp(BK>UYoNn zAzngjx5@osF7+H3yyGMPD6H&<)f?1k`Ggmy!~njZn}lPH`T#BV!vY42y~}})+|tUZ zGDxu-Dcg@KNwZT@j2Rn~Hp}XU#hQh$*7R=HrRKcH6Xwv)w+9Qx>P&EZbg% z{DP4n)MXaSCjOa0kgRaR4=ftr9ABgb`|}FZw9Ha01*@)-?XDt9T_z$-*Gq-a;lTZ> z_~QwI;jB_?;V!c@apac9+v24^~IV2msvbsVgAI= tcmDY)Z=Aycd>L7x8~&b__UaUiGL#4|8eFn@sO)At{03GH)8@bg008Ii`)dFI literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/rewrite-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/worker/rewrite-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/access-worker-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..5e720e72bea9dc8983a8092f406a69a57506d6b3 GIT binary patch literal 105685 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%0AC8R_w2}$Vj9itD@LxU4 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%0AC8R_w2}$Vj9itD@LxU4 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 D#Hj(; literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/callback-only-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..9f33912efe2152eb55c9474a69610a61772f5c00 GIT binary patch literal 36676 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 C=>S>) literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-0.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-0.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..71712b4a8490b163771a6949ec080f21d2b5b3e7 GIT binary patch literal 118 zcmV-+0Ezz}iwFP!00002{~e6M3WP8W1@C^vJ1Xp|2QOLZ$J81%Y}!Cu{eFwbVVH5w zA)FlkynzV&l|mIu1rrF-woAF7Cyc7trNIZZEXZaRrCR1Pbgn&aG4*fx!wjI0c1t?G YQIch3_Tluaa+5>%0Ai&X*>nH^0EP%Owg3PC literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-1.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/check-1.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..0c28b45ad978423fed19937d9cff3bc5247448df GIT binary patch literal 155 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 I3yqZey1TB)>jFO~ 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 I3 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
    ^1UCp$|dh`y0V5v6aO*sdhW zEFv-P3vKz5EYGqgO}hw0evHI9m={Bg!UIFKDd$Iz!)SOz%Gv=gFAUR8!m2c{MP=Jb zb!IJej|n#>%0q`e%DE9hbHkn2PSrkfUEx4?bqhGox zJc|n7v}IdCP?b}=8NLa#LylL>wy+cByx@C5s~DPQ%J+PZE?mBB;fJ*I-*=uOF_(58A)n-)C8B#;%u+RrQskhTDR36g zrxfYEW|MyzR`qq%R|rtDxY2l(x~iCu8GMr*PxTdC@JjXdVc}b%u;-Ar{cshRB#Y7} zX4MreLXvw!kH=%rZ`f1cHuSE;=7fNTm09{WTMXJI?pb2L^QD5z22Cgk-lakDPT(nr zj1FG7GZQK2Cc3Z>5|kM258_Oekqg!%usfZwZiVBn+JQ6hcrYY2(BaYP1|I#msvE?_ zii#a|iD6bl`5fhz>W+Hhz=<3U6f|^yelT~`s3@)}1E;1gXU@uqIqP4dl?Pt{twp%o z0-H%Tycy|cmny3Cv=b&{DYaF{S4!H-;@A4Cj;2`f5KrK(mLGS$E$V1{yGJ~i1vJm+ zZ^p9bOyMC)8Fi1gZ5emXk?f;@|-B-en^r($|YmYBsq}tL`h*|Dv=RU1^cGTfuOb*DbmktK5OVfN)mVqpt* zz_@!IoqEFbHN^~TY;+FwOb>%3j)V^%Gf1MDA`!m&NdIcnF+OHT5!b|PB&jB?nI;FM zGnto@t4uF8O&W0}Tao6=Ao7)LjWX*~#15HCMk20G@V3r^K}Tz{p$^yy%cr9l4@tyW5v5TV@*XNZWJLFL7g^ue_~SK~B>%H>*`0CteMe1r;0oe1aPL#_n}qE1|p=ba1S z`renYa_v@71>G+amQ`5k(x^SkU<7(u;rbo0z%1`6gbFWL!Z@Co?{1**OTX)1aW-I+9pu?mG z6*zHCnCgmy$l~(oVu|ju3aKUf$tlN#nf~Lh;26X#tJvR)Z@>v>@;-+Z@P6ULo4*8* z!Yaw!-`~cJAg|VuS7qd^^&r2AMODzOSGs|u{#z4lVeLj}jyCaJYqehzo#A*ANkO-f z>H-X$F84MbL*IL6z=Cs2u^Cxa6XwjVub7^l{Okc`@O{PbQztfmM4DkdA(5MQ3V*1s72wPqV)6xPu6mIujnf; zaIqVR|FLiiDg!T_xFf6SUvEz3XdzOwB|5>QT#rt?zLbWOtPi92N(gXB#YNx>;v<_y zHZzH4(UzwoFfbkWkeMODAZ!RjE3nY8E>XMgXuv26Q3p`rBh2Fau+m;oh7F>B_-Rm@ z(DZ#ld;t=np!>R~4LP;9P}AeO?L}h3DSu|=A%zePek)^yUUS@!JAP>%P7Y_&ZFwRU z?3(B~JnS!v8^OqLW)S5h`~&>-FSA-`X+r3)^BOXbKBndvt(Jk_K%GW{Q5bEJV~LnY<2XNsJ@ha7xJ19c4#u*h6Xf2|B^ zKd38YRwsBfke*p{J^)@g0@VJ?UON%iC$JCtvZ}7()zxBzO9bTU6RWAsc4jxZKA+on zM93D@=X|z`+!KlIA=vXnBBs^1;GLywH+mpq~(Ew>cmcKw9v8(70hik}9 z>4WBRv*i7m$FOGQ8OpVob6%JPIe1bunLmvzwor)V+*O@Kl_!U&XoBX7xz|gOg++DB z>zRCTU86KyL4b_yp5GzpQ4%eKuErJY=~0?6taU1K**PN`bVN!r03R|)`*CQ7L7%QV zUZ&Pbj0VD}Rjswew2$cB25ETI`Jz0fQ=Iau_TV2{@+RmAx^!M$yX_A+l*0Y zDQb;G23Xsw8(I-rRvtV%jnHu%^s1i&IIO2YK#JNP*6|sX&(r0;(elL$OeT_3(D+;T zTWuS2(ABigu1TOICgQ4rf4*B1=do-)FSRgqI-}yub%r(AA_Qkg_xUA~1;_GMNK)em zbf@~9&LI1~qF$*6WDtpZ;5(vodfm{0m#j4mVI>16 zQ<>`1I$5fzhDy8`&=e;*3DI@c!d9RZ^M(P)e;uSgHl2YqoP=Sb=Po*qK!ECB#nOX) zv;-LRATjGID*R9~=1WuOHFzGGQ|Y2;H~1o+LS2)&Bty zVj$co{5Kb)GS2NGTwa4TeW`=@79lc83y;Cjokca3uGJ`gMDwNT@HXKlb1FGw?uRy+ zo&&0{ZlOaO4mAcGp~x$_^=X{)fcMbx4?7@!O|YGmKsTdmKrvD3$A}-A#4*Yhz2i8Py=tPXwM6GU zJLd7e+hEMj0%N3YZjP|=-qMXDESw{lQ37I4D-wI-0CYGgWgUrlRxAi_skvjJZKHm| z>~b9kNRmH~0Tju&mV6#*l0mw^Yd&6bm@j=(fOX0s!W>RoQM?$LT)kk`9*WPHI19W1-mN#gG@ICzhaLen7Og0aZ7*DrFk0I=pMV6)| zDleG9ZZ82v86MA}t9LpuE5eewo2}||9oP?c70LUhIhzbQD$uU2sK~O(+(=Aq5ITK6 zrf7J5Jty^oj4$&(?f6t2$U-WK+EY=)Ke~1+9ic6Mij7WDlYPj#j<%{GI!cJOYQ5}e z6qE5H2nr8Fq5`$7;AXYsX$heoWdP+^k8bO{mI2>u!!-GkSuTu{2Ifdp(1Usv(yo^< z?;vUVn8~e^NPRZZQfqb{Cyh=kbrNw^xR^oK@16cVGuQ*?cM&8pAJ5}!_=U$~$&RCk zy*Z5dl7uJAm>nSb!87HdP|F7lWMNaE@{&*da&B)+GeI35Www^<_*C%vV%j{$)+K#E zi_$eGNPAMT`i*)UqH_9t6LY(q!iDsakhHYEjs?G?PImz+Yq@GgfhO2FargFA$y|US+NUIJ&R*z zp2Y&&!qBp5Pz6NxDb(ZBl%>HrEGT*L#$>#Onw1`uRS~{q*7Vc(335FrJ34f^C1V>p z+s1<}6iXmuw;Q?)9()@gzNqPwCH6ueJY+s-WNv5l_b=ceWscH^->c-9QGF0ve1JNW zH&y9N<=obL&`2aJv?M@L;P{g1)hc%z6HMWi2|&aMsXs` zFsdogLz)z}FFvHX{r3{CEEaEb4cwf8QUN7d(OAdg2v*G~w6p3`8(T2=Poob3Lh3R( z+kVfwcPSI%hbBy=1VG zp;%Z7_4+w9RjF5y+5mw5+J|05ka>A;wk9I#`+Sd;PMRz;Ixlv>E>E$eT6&8Y>6R_u zB0#3~gOH3bRZV!K9^){GBe;rA4C~9;ZtH-ya zbxsYiPNJuUc__J@iMgYc0==!-2>xKx6IBv;EpO0^Mf@$l%{yuMo^U*ZFF%=L+zJ$7 zgolcS?R(_=sq3@BbnC*k?NRFwji{<-k0sJYO+t?Z?;}24hZ&FXA%4=)luu;m#GM0a zL<1!tlXh^bC@+}ab%E0Ueo~Uos9lYE8M0MJ6MCIFU|M}sKMSlB3^oBwX6Jkg*OI>` z#N>H8Y7y2hogPeGGbDkzOXjbevSi|k+n06x#nTD8I`AQcf^O`^xUe1IVRe@RLWP)2 z^r%_8=BWi`a>30dMaK}MwXB;TDt;vi#ZiMBDBpYWr09N$3auZ*Idvwa+ud5h?%j5=G5LxMfmVbcUJL>L)29VQ(d z%r{1Yq2!|mh$A&=hxRo;R&_l37CPPdqiB*2n)IRZ{WhsyDJ#zbROgHxI^25f*x@=Q z@m1CXi8mQf|3dvNwA1KDmOwEXSDg8fVi!qX&TCf*|~yp*eDX>CyO62%t^s{6DgR5JV+gi`O< zrzDNr%q@6JH9hNEiD=iIA)Tz0hyN`t#zvdMfba>5g33QEXl>#9Ach|tOUy*BEkNnR zYw96F=qgEC^R3z(X0ED$slCL8i1!r|}De;(I-1D}a5@4-abh|lLx8M0|D zR5y>XJX*^f8pzrw8FLL$HxC#ISynOcrd64z7>YYv+;4H zg;p$8bN0J{XbG$9(wm_2qQLGbt+Dk}B9Z;xwjGQq9Pz0-g3|JwHpPP_6|EUwt+Ztx zh>awE+_^YDpI|FxGDU-f5pBu=+WdT|$5v!;E?nr1-`SL@*y-RuzyT0Sh!FNV9bKzG z5y>%&<-}V|2g)r2rGlp6iaMaJ9A68{ONe1`!r-e(jZRbQ>Oig({4KCzVHur>FeNF> zbjASGn7cv#DDEp*f84yh0Ly!$W@Sb-(W@kCsZhH&yVR(FI0`fIJg(Q+2M~{sC{0e} z-OpBLoi+~eYBWhKR*e?k4=w?0b~>DjF(|>{=B%tI3U@id2~cn}_ujhDQPsdCHZ z?VNgp)d3y3vMYL{mQ-TlTC*Z6ic=2tsmx!3bAs6?g}S7_;!R0KPTwnKw<`=&sw1ms zbn=lYX$O3V$5%w_wl;wVkio)>dBD#6db1#Yfb9X2G*0elR->?kOS^ub9JOT&b(+Gt zqEjZ2CATa+sG#7tCy7WAFeS2en>m;L6nua})!}gSwRd!sGx6|QIt)VcusgL5Dp;(6 zxK+gYIZT8ur?q(*;Z2q(1{fm&1dU+Xz`e+}^?C0B9$dfeO< zT6l*}pV?v-Rgmw$pXOfFOq-X=mZIy$kf=^AblgDYV_h-bFJ1n1 zM~={!3jOLYBEHo4o$ic|$S7iyKozwwE2h1Ajv>$mBG=f$o(sAio*~-8SY|MT{a<#+`XkvBDVY5g)qbmGQwW9N;jkdsje_WHOx4r%C4cE-MSrBZ^5ygaM=qO>th* zu!!Xd9jUH*Xlsq6V1=V%LFSD&XA@jCu4pKNeV(T?$g<|Vw-$BnsrpNY3#d0ccE69l z(He`Y5>>8o>@J@c<6Q>^r}hNG24{(*RDd$~c%0WPdxqockQ^6oh@}Fp#A&YADl@)r z51FX95JTbz!cnf$ob#+cc~f1u66i$~Ct&AdSp?7R-hvLPPkD1q5=RqW_FiDj=XA){yrq3PVFBp0l(;NZ?eCpGy zfm~b&KAwb^E&&!}w;&)7AsEvPX(uGadd?IT)6uYCbi?UySYMWzMmsB zaHZeqbx?e$a)^3P(ln_U-{RazSdA_aY*G$PW(v9$Kf88Oz>oxPmj|V{s%Ae4%`rKY zA_3f5D!uJt!kk}KUmXy<{YzObu!}9d%Q?q%IplRN@mw>{n2V`(H|Q`ICxo^iNHk?b zkWlN6&|*wm!WdU#_J$YN$Iv$pNnqVMB!;$i^kB-~p`z;-#xnX4j5iz#fqmPNILf}$ zL9H84i?Z%K5@g(ZsQMvui< zVW8wnBT#!Hd^X~|zFSaud^o;cy|S3R6gWXIkd?3Yfl|U) zeS*SdLN^tEq5%0(T{~WlB>}!mYfa@toG?4M1rRtw`)M9SGN_2FkKn6fdQ|FQMN(Tb zmA9}{lRY_ys0F9JUhcO1w?vRY%T$G-!?fWLhIuP-y*Z13E%SoZp#TiZ0 zl@dv6lY&)zAk62GL}@%EM|>bor?$M;Nm!CWw!EX)qi9DOrA=(zJvt;N4ztSp#P;D{ zGfSuKPCY9}tkV1io+4ZmUcl_WrV@G%UkQ+4f1yr@GYg$V0~jBciJN0$W;p7cB8;iH zz?pkR!FH)3D4!(qI4+3$M#%~m)+9+dGz}wXU6>9H&l%2nS-G~(Dhr>OdtO#Wnh>@& zalNH17(^QP9}T`aFWeC7Osd1gzVd6{D@0Db`z-tJ7;a2WqX5h$233$Ip~(c+z==fr zkS5dZ@)J<Dd>CWFBcp^tl|sS^rJQhA}rH=E!7@3Jc+RtZf#< zb!?tTEPPUndd=ffl=(TSX7rdy1&$GE=(U82DI9Z7OLJAr5VPppaz}Gj%W+er?A51T zNpV%H7~Bc>ET4vZqN~~lhj8$hZjPr}1C61vbBHG4bbcLv4GU3>wrbc=N@7vh>=dR4N{PS$Dd;cir172Lo!peAIlOp}LKx^ocMA^!NT$TF z;KiWmxWNoKq}4l>PcS03*c6JTCv!*QjPY*E>W~7;s)DOo+X3^aq1~A*N_Nhlv1VMy z!1k=6C7#zZOlo*K7&S{a2_1Fxu13Y5AYg$6pV1}Zi z%8R6v&rw8l_k3mQVIA0&zDGxE3)d!poA?*h10q-3lOe2!u&SYA4(vskGv9QwkMT)z7Q)URD~D|dw-mFoLSUzFZSSV9R?HNzR1QX3*`?pyWc(LEAs z@n8qEtv_Uqrf$Jv+qP_Y6N<1XY=QkMOhi8~-25zx`RL=u1rZ%^rScI0+*Ms7U>h>D zWJl=al2F{LCn-`fkQOa`(hSg4P8XIDzANEGrKm53%>}Io{}Al+*c`^A0*^A?QDCm) zqryiWLjhMLIoe&r&QaXL-8jsaLX^^$d`!jRc|iIWM7G&F>`M^f)p!Uf^Wg_f&tjjJ zc{ASS91|I>BUlGPgiDm}>gQZ%NxSlz;{9}*NlvZ0EeSBO#aX)bSPHXCcwdcg3WH+0 zX#$syeVRv4gvH)dKvuVA5E(_Fu@tiFQKLh~2DO)`?{Q#z89dQC@CD1lw7z(KoT#cw zJA!2j)g04?*IapZT+@5JF*COo4bQP@aWYq>n?f@_sAUq-DA+l)#3+rRMSY<`4{09O zH0X)FhSJlVMv!Dg&eLtxgq&u3CyqVPf)}jSi*Nw<8XR;zqw}8Zibh~#s&#}}f$Ln< zt1)KI>NY8i9&qD_ax@+-w0972=>(OAy)MjKxwK1*-3RJ)hUX-5-s2=ym*NvN4G0f( zlT>;VN^3DYBpCy0KEicEOA&E~3}s=ITQ4yJR3(`kREIRsiYy#OHuhSamrhigA1RpS z9SK!XP%9^h(yNY6&cCVjnvmc2$N34 z%(qrM8yxz$m%9^Ibx>!Lst!4*u3=-VPa-hj*V)yCsK(0ELu}Th>4Jc=1~HG&y6C>{ zwk8ibIHoSc7YO?^1YV`kwBIL&(@zwfA-$8aQR*72l}Zb(t-Lw{@ueG0xvnIe@Ng9z znk+Kp>9V9e14?->pLUI#bXdX2j!*NdDa9*WpETa#IzA*Sz>b23(5gV^sImLGg^{@8 z0w1VyLV4B@+82fm+g=AGtjNvfSz1hMYZvz?!oC6Ow&pZ$`F>vsWmImv&ZOooKFuN1 zq(h8u{T!p#{eGdV=F6|LIe64n6)RoIGl$^uDB5YDFil~uryx;qmj!#WZMC#eY4r%J zC*z7eusS-4dfNe?WDcCMzP+*Y5=RdjYwqZ z#r+!V)tK#QJyHKIVDiCut!LpYu9LI6%Pj1p*?{%|@$e8f?kpoTk*&?(TGh?o@j7SO zp@3~)4r##O<>;h*y;{VZ@UDZDq7mI=5J~89VqVJ>uw~rU@gzO;D|pzP#CKRdGKU2H zEUu^|;Pc=~R_V!{^HOOQ1NMhJs4W{v&59$?qb(cz)11S6goD&z-Je{GNTEYNnSNFf zMtnppqW_5-wT7Nwk~5}Da!lkAoft_W89+x;Z@;M;1-0K~mVHydsbSEp#Oy`jC~Zu{2q1pql~0r_ssOVPuIWCCBhsO# zrl{_+AfbZ2bfoa$3^bUUohlXPK)?>D7DTN0em7jYrRH3vXzGOP%pvL%RLR;i&m~Xq zSDc)=I%n(LN~|Ik-WBfEm4nvJlQ9FLChuiJ72ltng)0G-Am3XmNf^QMKm1#XlWMqE z6KF(E6BgxV?4Cd8JWKEizMn@iOYM=$VqS<_(TVRX`4QY}Y*r@`(@;T}FeJiIax75r z!J#W9L#N@mg|%?&gkVX>A6c7Ykq*VLn3~Y^SdgBKUDBk8Atm&5!x!%Q{B$U|;v6Q~ z!kQ>sK_fpa7;khV|_R& zH9r?u(nBu2W3{+ua2B+W8N7W=M|e=Xv}fUXLm5pt>U)hsR%KyPo$`7vJ^0#Zi-fT1j?8Y;*Al6Rmy@{ngOM^1-?nV$<+(_cDB*WCe!QZjG+0ojc~M*_ z=*s^2a*`l)Sfx()9;$%D@+>|dtD0&nf{x*8x9Gc5?C^C{W&ytem1Po7w|djD4PKIU zSRRFWVBx~(`lXYcZ_vpz0|OQ0KjWGiAKRj-PVkIRh3AE#PR0O?(_0>$c06_?TDJAr-c=ht+8IT=Ui>0R!s%Xyzq-recGcW4lo8>{wi z>*2r`MiHy3yqptcB{`*_x`v`WGCV~$HJkHQEgPuzE+;b-ab5Tc&~4+Cog141&*?M?j?Ncl0OM%d7k zy&${fEdDKv?D4_;J}>Q=H1u>yW-2K$Ai}gT{BzR-0W2PzROWi#S*x)Z){!7*D5zKM#ZkAo+;;*(XeknTPZrlq!_^yNAiQc)_^w@SHiX1d? zv|zpS>EM0H^6c9agkP^W+x;e5KJK>ohE($cOUh+>-%!gibF+;m11{1a=d!RMbjnac? zW!LtF;)d9E$1%>+>JW_i-)dl*OuW0^$f;)eauO2D@gkV7mOT=iMpN%!t%wOei; zHjfY6hvnV&Uc#1bZ+4bj)VJWe3YO>q_S=PAsCQ~lu0>C-V6gJCUCX?)A6Ki@{pw-6 zTt2Qg+s%5nk$cN}(r27l?Xx{+v&3(EcY}}le7S%iw;;qVrlSBK+S{e>XD~D0u0Huh zPw{@T5V<_`5m{;H%SxFq!v%sZ2YcR^38-{=4)3EG%uD&R+vzEjX#+6T=_kel`TZn81U{geMTnOyR|fLmnHW=e*1tKt;FVv4NWTU$wb z@j;e%a=Tt@zU3%X4hRK-t5_`0g*3cK=Q@XV_0>9zY z(cZdVUcI@l2kUNaS$FH{x?8VCd)0c=j^cBkhIPWHcdMBE%O5^|^Ua@v&%XTd?YF`2 zzWDg%=fM|Wefh;#AA^7W95R_5z z`(rEOX4w(q$Gk%V@zZL$13cc|sax`9J=k(LD;SgIZnxcS)(@-I!{+XOy_5>!MwLRq z*B1D_D%WO-a&43yb93KqiD(5a$~?`F4ZDRH{oA$SM?S?~Za1HNq9YLs^u{@68{3#| ze(4z1ev2M< z(wUVK1mtF>hh_Q+4ZptZv;u=qA_wU~=8> zCQ8%&gJ_nww_I-@HxG~N^>TNwtgZXqaQT$1mfiR;{h@t#xZTR0AO5B6_eYHiYk9rE z9(bpIlya_&CV(QHB7yuH(fsyqJnVwMeg<_T{rFD%ojA~MqnG@n1QdA@q`{qT=9qYj z8+jqhsEru`Z!UD-f!n)J{`<`=66jr!L}Qagn7)LUN@zDf+b4duPyB43_}M=3vwh-c z`^3-oiJ$EgKiemMwom+QpZM86@w0v6XZys@_KBbE6IT1gJhQ~u9FgU2Q-n~3WDto| zIK;(;GYO6jr1%`N?MxQkS%Iq0QXE+A3|)2e5WP1F&LN4!LR}hu64`P<&zzFHAKE_N z(vf655bJUKtz7RryU8^&=uJmsAvRY}hPwsb9!0wlFVze2YOF?!6jq%Ztm--ot$f-I zV1F?)Z?2oEdN|lxhwBXrsJ`@V;XMZYu)=*>VBQUkCHKQW zZhv-0vKsrA6l34g!&r6y2F5CPE8S=8JnuuhPdm%jJX_11PHlM9+r*Z`F7&Ywwwt-$ zxTW0#Rs*Bh+G-TrcpAl48dDA$yryQS&A{xm)t$=A-rzMdifzY6vDvoErPg@4+^N#7 z?xseuM>L9Udux|s6x$k%Vk-}$*ucEF`Ls86^?R>n^Ic7M-_=@c6a(wqPhb?=co@aB z^JTS}Z4|qIJEPc=qK0+T{N9g0=kE^@?@gwy9@A(KtdztG9 zU9Wq)*{H|X_gB7`@w@19d%tCehy9lC7~8S&usf00o8D|TdM{JVWAoq3%z_95>~3Ut z+fbB`4e{h$_h0Grw)Xf_s4J_xzlFNe9p-mr6=6M45ta^BMrt3^Lv&!qL``FKh@!<2 zjgj3OO>b0$?2bRANqt+F4ZFRc{(V*Dw@ZH08~piwueeMbG`!jMYR*V3&V0>J@P}U4Q8bCAUXxgM2B+rO=|m4` zj=t};n$EHd3JDPD-@>|YNLhBP>3)8DuF&u_1in{PqoE~NyePJoTvU#nyY5Op4Q+Z& zY4ZBB?3JLd55)`nO6i>gOI$3C=L&UM~oF8`^N`W z@GX4?PDK~U_XB08`>`|LjTw;f17jb)-GQ->%l+pYX!+elW?|yPX5LK&mzG@g%BUEm z3zmH#4e?X!>CW`SL+{Hm(s_5|2dSwhzuM_6wdz_~_bPI7xUElo_V3icVembVpM28& z_`ZLpH0gcfp>6tTvDDuX`&ED%g3k?cEw5o~-4&}n>K`@htv!A3u6S+T>R(&e+wQgX zao%g|=FapeYJ7fmKD&9YIc*4oyxEt7Z;CvRV4B4?|%7<1%6uarJ`>#jaS|y4le|}G2^`l8B5B7U+Z;hS$yz=l! z@z&s%{!b=dDlZ?FEB=q&-Ey_uQmo3GpRLN^NcwkeRlajr zl}!UV{W^iP8e6v$?~lzBSI?kBzgNxyIS4tLNAC2pjfr`$Ou4eX#1GyH?YIWi%cbsiUH=oT{U)*E4n0_4KWD zJ$@@)Pq)DJ#_2$?oj4FI?x>@?`!Rx6W{HbSvkIk2QGYs(=CNa;N z^B{mpjqMr3B^E3E^aQJkb3{Lv=;CS9AI#2vuo;cZ^7hVuShkMq$$Dr9U9W%kdbV9p z9$gm)-E~(mc6}ue=+HuX)@NzWi}VzcH?V64Uhh zTGRCMP9IW(Eiby~F?kE@4z{J`VS71!*#7_7d)wZ~a_mg-d;N++V+>RRDuLwTtFW^` zue)bFGhX+=-7{FjFa)I(s+22BN=VA?DlhiG@8vrWc`oBdD6*>BjxUK+TwY$j^SnIg zIUGB-yYr5VcEuh7&2#UnYPnBq!u7^pW|W-IbMoma5TaeDZC(V(CaiGWGWC+Ze|o;W zeR{m}8fpFiRnJ&dmj!PEw_YAzpYA{9AYziR=-!J=Paj+LdO0byyku1)Y=t;}EDDs5 zC{W&`K&g1Hy(rKoP|6R``=`5~E(Q8&_v0d)$~b=U@l{nJSH>@>ifH^qkD?H;Sq3yH zyjM;>tA@|^l5WuV;b-(oOs?_@0mPu)ZV11)q7ZiZU-cdZZD!TPcqUl~2ccR0)NG9TF6+amJzjunczp z+x^4GkAcpkmT0ujsUqCqO~T8?5YX0qRaMa`$63p)RP;{DW+DgToh@UJmNDNO&>Sj> z>TwSwf+pf|2rDHABAr`Tt6We0NDyRC?PkXU~fg@Kdn!5N}*n^g6=(m0-_^_xrm){OS5nfBfC`|M>ks zji^3LpxmRPw#>-4t-VtTvV}fn=j+Fp%h#9XrkWRtpi+tZl6!bn!Nq>fgkv)eBVKEH zWoVBoqdt?;Q{DxHYegilVaau(2D25S+#j$R`RuY}5cSr;=2qdK`#zAs>V`sb8CJ2N z(arI(sK)-tF z{POjGS{CT*r-!@e=ch$uV86Ne`Zxdi`8VIZt8o5$2KlguZ*7I~zkK-EtSYFO{W_Q` zpheSJ6|nl9k40$|9bk#gn8Eq3S)7zpN`w@mm?AhyddvcGi`mgZQ zex($+s!sqy&gM8mkf#p)R^pG+iae zt=R68VU4i7RU!b5Z(Tb(6-;|;5T-fHYWT&zIs_Jnh)9W2E3cs%`)UQTxmHnwJNDIT zYm7%1U}cfmYxjjYEdO5r;s5&YzyI4mUH|=W|LG6^>ra2Y{_Q{f(^_1E9pf6T!e~BQ zwV@bTdcCOSOLs1p|37|r*;sq<RBGIkPesH_tyTca9K;O;vvDiVCBSWlGxP zHh|i8RNTq>BofNZo&doN-&E#QjTS@5%vv*2f; z$nas21WV4`s3BO{Y6zUqZr7y(q?BAkvbTqWkxzXmW;n1QO zmN@8(l|v~h0URhRQF4}ZjELehNE9b9Q5=S=Nz#WC;5;mnSnHDS3ykJctVKoxpF~Cj zn@2{AWX$K0uBQM%{6(F&6>*63NWfE0@g}QBJ-kH%dH`?ZqdBk=Ak8u8F+MK59US0G z#z=FJBT+Wg`y0?%0r9K=i9q4|0-=RHZm-w(-x4Wp7siTP^yDYrq69+2>nl@65?$a`MMJ+~Gyy~nGOW1V3hF}+6? zrz57hTw&|QbiHzg(==nYXjwvPT#3a(t*6`}!v%t~rXD)nvjL^!Sy2G~n2e*GI@PDr zoH{CPUo{>r-mIO-frBNz`*J$(DAF4q^Fq`wE9%QR512;hooB4!B6rJ-ttwnfT(!(A zT*V_tA#q)qj<@&zFL#$9x*s!G=n^24;Kp)k$ybho{fxz7Y}y5r7L?WK0<~&#fm(v< z+3G3y%9}#!+Ur?<(-yY5cTI;gwrL0sXy-qe`m0}~U3r?|0`cYB`L8Da7IUm~}qXO+km{R? zh^SrX8usR6TLk0ZdV%?OzyE)(|I2Ux_^0dt`P)DJ-SYSU{_WrYx8MEtPuZm9hJ45aU)zDIW&mfYvBIk}SPao2;0yv}d1qNVUvYCl$OKc+oSxQ1%4TNDtA`Fd1kQz(jZ490FBH8Gi zMhMk@17x88WrGKcPo8(t9|k6GkEU#njnw-lN-(o`q68ZlUYR~(q6ACPe9Vz!nWixq z3jeKv^D%_y6TviCAq>J>($WwIdtjYo;ept>Rv4#0ypbLgvY_CNEZ9pevgW(wW1vgU z-gI~Oyt}`CxcAWmpVF`2j3SocTV!^@^>{X=A?1c@zs7N}RDdPV6}a{`5Ye2L0M4uz zWd$!6y%79M>h3~}(UL;&`gLdoX(8f{6YX6inqb_xPqJzYZskGHc^8THtA3}YZ6)-Z zg=$gEj42a{o}>a1mPn9mW^E!kCIM@G6T)?e*)k__hNR3hRMv8yr7=8bNOCM3Wt@!6~Pdx+ywmEV`Ntsu= z?P^&RjOEQ7p}`!n#2a^H%^y%jg-;$v@w~hJ^YzoxXY%*g56g+Apq<5h@}_wNx8>TA zth;vH%C!?5QdKY%-lm<-6G`bd66-b+D9(^1{mH?ICA>L29k;>Q+{^5xs%*MwVWvN7Wm7O_;ND4ifWXN zUzN?8(<6V5E?mnZ7+||rrG>1iOIzbhyD_#_!;whFR$&-290_kCFbu0ud5MB8Dbo$g0wi*I>t&kBxv<8;ef< zNJF@MDv;Kss8>dqbfR-u7I2bnoDn$Z^ z3yV!mHlA9EyM+uJJMp6!-ix5!sePCej05n31%!D!%tm&3W&Uk z5ogo$&7&7k%$CC`m%T!P$*g-d$S}m0qJ;9*SM?J2aji0k{Yi6V{H`QJCw+Zw#Gu5% zlTxllPbx;psRy7g1;WpOw;qLj;F!cKm4=*p5w@)AMF12Yt`~K$cQYCFq0wtxXH6V@e zBHQ|cPA~AriXzMNe#)^lK+RFS^2gf;U_m+x9O~ig=Mw z<*e!lqvsE{@a9GftJ!y2oZ+OG@kU2>x)q%Xc6)*^6u$Xd+5<#1L$>MPQl zJ>trWbh@qvuKELQb#h8E9~AmG{V`BT%zP-;-_X;T<6xCo$1O`mB!f~zHmELqPkQ0< zTRd55;a1tP8u+D>YmC=q#4yAH|bE7726KENr$v(JEVinSSFXg#JPH;GVy6^QI<{AUbsG%t#NaAcbRy$ zE{!7}-~F^~k>#;v=zvYiVm<|^qsv5%l%oTd5hqSut@uH3aJDN|rq7QLavS)18#HPI zC)&{N3F2`)*_S3PBjH2NRZ@vT@)_E*`izYW5oY1I$A*PBaa$D4au4quJsQsX=1O^_6lS%yO107l*b ziM)ZdO@Tn(fbQttq1mTRD_@_!-#uP-J*B#n3+Dbvs?h>BT1_WRClyAg(qux%o~JH}mDpow*CzH1ZnFQvm&|U}LXG%gfxEMd-3vg^yj`VVNHW4A4}IZnwtG zMj=;)hZ}ju#XeJ(DcI9rFfWwlu(#In);xYHqT0kNQXyO3OM9P~lA})v*6fRrbt$u2 zIA!h$1k@|?e#I}@yA>*cp=SL?O-KiJ29i*>1Cn6SiX=j4S?NaDVXh!oi>#BD>ifL` zbn`^(_o((8OUiW~q(G7!4ZVwT_8bw}lv4kG<8+-ahDXxYLZ`9&DD8tr$Vcvm;;D6)R@HVNfhA$w1CyX({Gyi%CriVe z*(*s#)CNNjJa94%rLK>Q*zY{a*N`MCY?tm6gX7uF`vt8Jm1c&(SsO$jE&hd?&-3G3 zL!{_r-Ez1J)wE3lcfv%>8me?pA7~@7T0332UGdl{S2_iehGHT@0%54%gqfGlO4yPD zM_HzbB9HGPM&%m-pHOLzFChxWJcP4LGEN{<;&Fi{WKANB4iSTL%~_O3X z+d7Y7QxHi5DNz&jUD?C07l6fFdo>niRlEMrhYm!h>{+q#2I{bJ zl4<&fcJ+kgR-*K>wdLlN6$Ds@B-ee%8KnVq(qx|Xy%p;KvtDN7d) z=fm61qk-S$HTU{f1D2k22>!Xxf-!_fr84@_?=&zL4r89gd{r{b31q@R)YK?85X&NS zq28j|u5_ofkeB&Vo^n+s#)eUBN3Bu*maN}vOB;gFmB14e(_@Lm5+K0t@gPCuV=SeQ z_x4l-=3B7u4*G|uvAX6NJLt&zPNlXVEyrI@gbKbAVn9AA?ehb`FVsAYu?^_jWO(EW z%8EJ#Z@W^(yzF-B`0>71kiDJKjmh(4bqK)KQPJq+2&;dE=@r-9G{txi{Tu=BIIkt# zs+Kl%;upnZ1b7n!lq(Hd;w9127$jTb9QzkH3@U+E{G46%Cb5pr;vc7ju`hE1G9Ram zyjHZZ)Fl)I0ktIX{fd!BWG*(U1aV5?VMrWBn0jKel%lvxj`Bw_Do9@lbkWfJ;ok|VrJ$F z%V*k6yt;`_EPux5<9}KK>32Ggp{RiBAE&xzl6r!Q&gPDKy8SV~;G7)G-yDBpf+e{* z2z3ul$!~VF>|7=myJnwB?hHpI+#WvgB>BhI=(BwlKblB$r6s=PRmT#85hBDWf)1oo z%R)LXgvjb)u#V*|5ZK6!DjU4zc}2aYc}1t;Cr3u*d4~s(J?b^)nRulxa1#9C1zz(_ zsYzS`NdL6ON;*N{cQ-)Ua+?Zlk(Vd`^pQibJS64932Z;$in-q}AgV<8HJ9a$`$j*v z1dkzmwr@9W-6EGNDDJky2n^1N)Jx2g!Nv(7+Bq^yw;7a>t>`}153OpjP$OSQnoB-{ zT;5k@#OS&`mE4#xR&Q<6kLZktzCMhC9zeXES2W+zcdQH+crDEm*W6GDh`QfKduWc* zd3{P2hU8PE3yZB=ooH>&{oUAysH5XLm&9~9jQ*_|XsbCsr9RkT!6(rwoQ}TkyOAD+xBZ?#d|?62h5`@`l)2n z#L&mZBgjymxTXTh{%owGg=3w?MdE>xT-AN!w2T1LYkt>W^sO0Rh6l~=envX)f)EVRk(K0<}k1z z{f#;QJ71by>TyH%!78>j(5tjcs<8F$q{EaCKgz3vl6hSbvcz2iDmk@$SiJfL9h545 z54RJ`GI6SZbi~qOZgvoL*;ikTR&+mJ{E@Q+OIJYOLv{o3-|jCsjAO-oI0astBx#z3 z4;8bxKNJt-Nt`R%E<71@x=-gqQ7eUx0WLm-3|%uz+777eZ}d*Yt)O{M6BI(WNL9J` zr)K$&J=%Z6G|%ztqx@JuveSNI64|chGY#ERoo_b1fEr}ib-3?N67z=6Ui0<1-#T^K z;Z5w2N=c_TlyM{yrMr6Ap`i!6Cf$>Z+GS3GIa0do?>w|jwd88Nevs2Wn^s&;nLOEa z?8jB{ehYDtO-PVUaF9(4nFo{Pld1Sq_VMpStlNa?jo`C_?3S?80rN&39)DAg8xiQ0 z-pJ9qKzLOfE6t+0%9^&shx5BLCyb*)GEHaI4h4Xe!S$O`O_VTs4WwTUa2X?Sy zTg-_))m&Wbau0SzNXLrpR}*DV`g~d_6H*xOOxNr}{7G#~qGL;5`?6V;gi33tk5OS- z_%lbZW6th+tv_3F)WVy}v)IuZ1?sIzz1YXQ%`67tc=6cEUsmrT4MnSeG{R{yimjB2 zR&DjxpSl|_o=r^c0sg}=i?)_BYAkAp=h(G}^UdO2bxK#m@h6o{8@bfp5r@pQA`P?P z0p?qt9m-t;zY9yL)LSJs2T-B5Np@_MYzpQcDJ;`Qvq5S0iUsP|JtIsEE z8_N5?8G3_UgfrV=4KDj9&$71t|ChMTV)r1Q{xAPB>m_DCtF_0?#^w12tKsr9Dxm|k z69wYi!pF`G{3AUJO(27`6OG@M`VguU?Q`&HJKS<6kp7|yQOu2cGNTi%(Z>8E-0BlO z#8r0_m=|ff*cw5pOZ7q(RfIz%my`R+6^R`l{)D=3uTjPY^oZ2zQe@uL=3EDf6}$v) zt(3}+CVx8IcC2$%;?mXJj|Ye}BN?(Q*@Xhtq@M()w?kY@IK z<)lU#0mBUcO8_*otThnE5D^Kr;*J(nhUi@jPH)05(<}%Rlb()fPNPm@3wPKn_~H@u z1BSd$ED#09*e|w#O&f>+j7ezMzSv)30>3iqO4>;5ws|tx_0eSC*EWd!Z_tK@7E(X4rp|wi&)*Sxa;eod{+PhpPWtot(U> zoe4sLM^gQyTD|Ctm;rD0>{lL<{DvxxPC9pptC|r(&{G>aF>Lnix~qWY#Zbbdd_Ol> zs$qQ5)^@6J{E9W{S8*!5d=IYlPU<@$DwivI7gdkQw6El^4foY`sl45;Q~V^Ze^bGB z3AXa0vwmz#>{@46ji(>(k=LPaogOD65@n4uv{E$pDc^mXc3V1>C$I5Nnm$wPbcT+S zkPglGLup#c@NOrnmq67`7UU^I6H1FAOJInwh6Ot zl_i$$8=U&Lu@IZpVZLoI678d4w&=U^z@HD7$jGq|KHjhk@;qfd3od~%U)?6|jx-t~(goyd1Q%OVrZJLk1-d-I@&J*$ z!jj4qiDOj`2in=W*elv$8Dw=^?KK2PfEKo$Ir8VY9(a>Ay;%d}n5Yp0#wYV)4F=su zb4V^jw03WEniS`OY^jmfc8Q=~jufo9GJD-gFqiVTG{UsFcfzo=Utn)2@Q9**uV0HH z0mfzOTz|`>U$z1v$%^F7^^}Jd^U4NKfq%|Hv$u$y*3Tg0G-L(k9lgQHXnm3S^@Q8v z^b;Sk$~tJCw$nOkt)j}rF<{$(cnNe|Ee zi0-@UbLptZ={)oM>1R~wYFf*znmYMt`6024DKrCCw(scs9s7yhX$?CU>Qra_mJJZ! zEGyt1A}xNtI3Jy6ApM^a!LHetN&XH1!@dFXGbA+7?uu&xeY^pH-~P*zwSlSq5n4mH zZ3f4+f|(7Z?fv4a2gf8Ye2^G-&aLX^BiO*rEI{{BSvzhI`=D+B|4GcO9ZwJYIxOyU zSl;0_xkhVpi_vB`Oj)turu{J2oF7F1V%GpJPBGfA4~2+ehPKxKpX^T&3K8E5`RF`Q zJ9wk-&s^R!H-lHe+fY&8%qIYco??K*=irxFq0H1FtE!)rve zL~vz&6n0&yc@bLo9S6}y2-P|x+V=knsAYz?@3UW0fh4N3gwfqn`R5hC9=D3V9{V5V zfvVrZE4QKN96<&qm6cP@1VAh>TT`>b1~iE<%|wVzq~VHjiY#jV)iOUU4s;aqR~l_f zNUUao;$ZXDtx%so5=3ODj?pYHD*>AhA@#o;3NrT%6eg~49f6{jpqww>(V`?u-}I0p zJ&BF1l9xH|dYc^#X_u&0!(WeJtT@3Ry{LmEV?9&*nWoNNTTS0z)FoE+WHa!GLQcq}(|b8M_JGHr+;Y-t%bsY{ zproMt3LH?DxxM#KrVm^s&(@LLKFS@tXyf!i%vfGAGladfJg3^Y1&DfTo^*3xmr*V- zmKA_#X%)?uw8K{#jSFjy3%MwDYb5UaQknPxb*MGRikdMGU4O_tfD>C^gzB?eQa%wnLr#Md4L5N2TSbV#jSAN}>pn`4agJy``v?t2LH7UX&JH zSQv0iqKavP5lntXv*!-(V5>p#Wk~l%h{5Ij4osMDH|zD=J!4@uC0BU`w2d9r0k5Wb ziXQlAKR(7Kpc11BFrdml=%JeLp&I__OZREoRi>JhGOTSA|5%@*ZWHg&B{477p#1Bg zy|q#krpBAO3?an%PKbEsrm7kJI%x0w`irO68IY2*{v_AyGp>hwPU^EHPcJLfMFRX! zk=)n)-@~R*m$F6nN4-2fJH$EZ&U zBAL6d1$e#l(^fD!`>hEa$)nF_~%#;F45gmz7XB^(rg+xYV=x z!=~s74el`_8h*tt@cb;>PWCL(aixk{0H+>YYXC|4Z0*(<>0tL}uPzvAK*4~@|LdvZ zal{Hx%7wjRcAS^xsf@0Yl5rGIYZ41goSQXWw<}pc<91TtUBx5u<8Z*P8-uH+QR{@7 zJ5!vItDg(tBp#UB zi%W`i^)am|ASnoHLIoqAQNXPzT7Fb3af5Ft4ZxZp zU^te6Zg+JNRCxYg2)R{Y;FO?o9P3~&d<%2z;23@p6leUfR7hw=$USuFTuEd_3U_e> z5s32aG6C}G@O>?1fG|$Gf4fk(EEXy}ODxMFCr)`V{ID8`Ju1jY`7XZ7tP)EiG!vtI zj0(DjWFDb{0YQ>ClT+UuD#DYo^`LE9bS{@Jzk3jjhAl|puhfISC|rc*16Nx<{1H%~ z%;W=uvRj>Ux9SgIS}jo3uUw@seOk**->{dI4JPf$Bt8LZ9}sGve5J3!^m{RZ)z1yu znE}`~5WL|H`A$yJmD|AJlRo|I5Twyd!eHW=fOnVP2O$3$GmY7X$vYY$wh2S45P0PvIz_Z)K^0KC);I9p415`sk9iYieoxBe z*jAbwe_a5PB9K5W{c4=&-ozd6Y20((W`1*!`MPb``V(@~F~+VJ5U*OB1*34UaVUeC z3D~+Myf*$NX<&Hz3TeM}**E6bul4RUV0H!spfW{53L&V1?vo%X;8~`DaF*^z!Sjc>i7E+{$*abz?7u- zy4Nv=6NvTMre@VMwcjcgMA~<5SuvRBYS!XrcP>Q3E2ZG=cP)g(fRX1mkb4zlWOGU; zgR?tcxBnKY>NjbHc?c{!0rnauR-rb%A@*ROB+^_iJoGV9P@KdXf#LZ;XlY`3-@sxB z5)?hssO0*T{__BAuBR#RQEUNmi8{N$MtYzSj3PUe7DE3Tag?clu@p)wJsf8@vj9qQ z*BFE*kZOK$1#sbHm{*~O!sB6u=&Zl$g2Tz3rl(*r)13W2-!k(W!_$%NmR-{YOTF`t ziDt*J9W1k=v{7N|b*!N~9Az`QUIRMmBWs0uB)Q-dy*2bGuLyG!E@@IFhp3d(NtA%+ z=$~=GuJz66Mq3}E9mXvtTBSi_2O9Tk_2#+v?|eTiTZhfFK$$IApI=wd_S=fRub)-3aQR;RU&l1C+SX+e zEPK%df8u7Ks(%HT=Hkx$oJrj5DfyK6c&bE8?DbuS8PMm>>YjaoWp670KlztvKR-4$ zh@Y_3mE$_toHI+{g+){dQT!|%J1ovoX6etH&?s4GbwxT`pMzId`|@AAE~@3f=`U^F z+nvk4NGup_wEdGA=|;DBxwW9H33Z_nY;IEPAZl=#pUO{5te5@k+ui3>Lq*sF%#{NM z*bK+C(B|&ky0(k1PV=i@{BQ~2tZwW4QAPbOWv09s;NY|odyN$EoEiWb&>}?IenL3q z)iMYw8cLy;mUZ+sy7v^FiMM@7IOQLoV&xoakWbb_z5aWxve)R_uUdlq0yw1ttvVpP zKCp}OwOgB1&1qV%q8`*c#~hU;7iKlqre2^k8fulSv}d{H`pXAo zs{3(vV^)f;>T1b$56mzvI!X6{7*+w2C3WxZ$VTuDsD6Ri^H0+_j7FL zu|>k{imU?)sqxKK0a3`J>}O?Pkd6^W&44yczs} z8T^GTKGUlY17Y)A2J^q6ZrAz(ZvLBch4p4hTYkZs~%8T0&DnX?kNURYUR zQri-7x&-!|P?=J)=1g^dj;87g4;&H3#7LTQRuult%`lVo1dW+1f;d_qe<7)NG+=~{ zXc03yBzYwwv=^LcDV7C}Yk9|I9j31bknd{PlJ#)JnAlGXn-42A>3RFtIsL0-KHsc_;1V$`ia7$?0*{$-{#$@X9wSmjGA=;M?k`-1B!_g{=)$PhV<%n>) z#i_`v{L~|X(m1n-QFjFG4n253)i(Fnoq=!(}*}833!Ge3^A_6!}@}_CJB+vjVjJ2khqD^UMKL5k?iK$ zGa=Q$jEt7Jd9W>n!Kjzz=k~maWg_%nO$g4>UJK$&+qM&7;gUkt_l}C5K=j`k#lqOu z`Zqw%Ce7Xgi|PGZQy>8b0}F{XIxlFj^r(PILQ?eDHYj~l zq&BSJo~NRqJXBHO=o(0EkTztdk|d(3Jz;63q9AUpDs=N&&!Fgg%Bt}c?!12BG7&kaUJsU8~QKB#5Nun>A&kM#BC#im69kP6l zwmFJin0Orx&{k_L-!tkh+l6LRc_XuawIy)ZoR8lTlJZ`bw?Z?Cr-pN|1P?T6KVekr^6yR)N* zhiU^710_!6#DM+Y8rGa%yCYui&q6$7BZMC1npL)iX>Ql}q>+r623;@jkFUEk`k0mH z9DJLOm}#@}SDyljokm9{+LcM{xk>K+o+r}kS8wItzwvc@(iSgwEPo9~O!94VbF<#i z4BXx~!p;v|$kAF%Tn{+C9}XU}zf+1ok>|~O;ZViM?5RkQsSvlYOpgx3)wft5Vb_SV zVIw&#D;=6QluZ@?>BZv^7YtQ3zATn(t+N~ZwVKpuN&}@CNlKV%-4Q>J9nUA;Qn2u0 z9mLf=!K(9x9{O6#KlMxNfX$F#yPjX_6ZtI&1L#kVjwr55G^|6Bc^X;X^7uQ=Fn ztVZos-byS%wASjJN#kKGM@$1T2{x~l)C5+~#g>d#*a2+H4V_t0sWN}R5bplPc*B3s z0PGI6WI?qi&27?k&7@e~WR^|=-0_YxoDu!kPHieV)-Dm5Xf;)GY&H1Z8Z3DYfB>kc zQvsFmXS{!4Vg3^>-mb1*TclqV*Fmm*pSBL~kM^Hm4J|8rJKn7xuGiGl^ZwuFjQ*XE zMExBBt=oZLDhXW{yo*5;o83E~kBmh&2mjwaxvgjaXI?#f9EqV;3thLC@D<)nOY5$x zrKc1=*eJIn+5-o28_a+Wt!eAD?k=XS7qANH?w)_ccXm_MHxNrNFLxR?e-*XXa-Fn( zn17Ndp0#^?e8_LEqA-U?(9uZ@jzkqXmpkvP1^T+2JeN1HM@CdDgxmLXhY4{xc%RvB zu72h&M#)`0cJ?b#2&eX${I}oMSoqtW@v=-+aso%K>&pzhxzrva(*+PVJU)d^(1Z2n zEDR1V#2t5a@g>a!4%F(OmruQ2=}BwKD;swKqzb1Ue(MN(4H}v z=x^rY+2$H9EY7?;aD8n3?D=^+Fy+#5u&OV0byg9@v}SUroYhEK!7;i~{8FPDnOuq5 z1euY9eY-VM^2~-G5_2C`uDUJVJC#^Zr zGGGfEo>5VUEamm(@%>hhn^e<*ujkdjO$Y<(qlRTRvckK?O&{`?cVk+J2bGT<18?(lwn?8KdFi#p#L?CjVs zPTBfvq3C*}V?x0TxPkQYH(+)htVS_cok}U$8^*_A1hpBvo4I1|aQzW;BQ@e&!?}pPc)43lJ zYqp5rs$sl8A~stzZ;cruKi$A16zc?`wrFUXo*Zk$cC&{3wlNO?-OGQ<@Hk@#&>~J4 zmk6Iqx+Anw=SSS5hJK;gEyS6Y+(^cwG2CaAuW7xW{(gPz_Uzh#3&~c~A$5b%b9hMH zv*^=~s^`U$+;a};#5CQ!x4g`=d$vB@chl3Z(&8cO{>3d4gq)AVYNWJ z){QVR+2ifm=IPbe5oi%+68CYWxEEcxt+T`onZwH+IQ;E^-Pz8KStMe18PCfDdZ*K;s(#_v&n+` zhjPUs8)!wg_hBRi^^oxcdw6ZnPPE}rtOJoMjh@x$G2O<4^%)(t#CzqK z#Jtm5w2t$_*C1SJ%(a83v&up)!L2MTZ-=!mZfDujkuiy2;>Qpj(_&T^K?itkCyW-QPl@BuA!YlinbDw3>P3}LpkN4+ zd^}Z6)S280vW;|VEb{o1r_SD+2QBH)WoZiJkqFVE}(m#bV++-UQqh@Z!`v}KqR8U_1bXT`R3K+p^hBqm1 zVQcGRhvfhvXlfT2OTT>sp*WA=9bT@`Af55{dF*kvXMT}&YKX!&s!L=Kvm036MO#jclD zer@bqAP1q&fwfCZ9$=0x#Ea#6TvjHMg(wJBz~Lfj38h*e4A&fBIjG%RWhQ@lXCk`3 z3YwV)BCkjU@6pA8TjVrKo1`Pfv4Wy50`wQqtMbDCP;6((uiA)tSrA8j0T~;`+JK5; z%UFP=H;^^Sz+A$gW?T0uiwtX&_F~)}w92~UUl6GYI5iHq@(?07*t!gK^M_ftmj`W& zMVVNbd>oY6P-5h@%iFg0+80DPCjSkEC6Dl^3yQj<@3&tFMO7jgwniSizAM(C#u>i9 z>$U8_5^v_AEX`R*wTxj^BEk2kQZCUuA6v1t63fqUJFF{bOe)LyDj5vLomnP{1Qog{ zezwpleBqdqw@&WPFgM(IX+*2kHRUMsy)<^x0PU7{NgNFwmsxsw>XfY7au1vAB3ljy za~hpElxM;Zrna`9>6o)I#_~E!<$;`nv^K_kfyj>E-@A`&GS8U*194zt1JD> zr-m}ZrJ05ov!Oq40pCAyFVPHGMb=`?*r17m(vIRG{#05sjXGUzahNqjmBVF%)xG7c z;x(iq7zB4Jz7gXyOzT*rJ>qNiYD!ao$-a)$Bn^k7zvMZ|Fi~TI>H=5%=v*h?Rfwaz ztbLMiTdRp-OXbjOyQZW3X;=uGq6a_$X*_`0)ul-IE-9i_W=TV`N`Zun!TcugVXdpf}+Jy0tmYV~sHAn!+Zgf^AF$OnpH z5Dsxvu<&{I*+Zx1xhX)|OLA3%h~Jor$LBfzXKZPHX`LM!O6P?W>(sMF%hG$BbiD&} zGJw3d<4LLNXS*(pXw=R~2AprR)6+-35%AWZ%h^~9(qN|xco^>>TbWyM(7HIE7x0`W zy-=v3R5SDDT1e|3xUGvG-HSX&ERhTbGh!rBNFW@8n=Dz#Q3Z0xizeFEk$ZkLOvX20)$atRq)Yo*DGnA~Od>x| zq~$`Eqo-F6*Wg0d8hM`ZuXP=^nxqv@=v#ivFxH8#!T19QbNRDaB;S{83`}>-K*e2$ z%o7>G$OV@rh(HVufW)PtUM@>wNei3vZhbxLBB$I`qG1d@^M)!(@>;sBHAJrjmEG58 z@bLP&?75Zc&{k+fy$PL>cZhF=@M3znQG+9_#5hpw`j$oxniM0Fa_cAW%zyS^h`e{e~>(1reouh-pf9w>|b3lS>>#!4@v ze#7Oh4OwUXZfqeZ1?O$g+Rglp;|yb0Wk6edjJH3^0(*V`E70*Ju=15GBVaBqyM1-I zK1n*RjxZzCAxR+BM}bj<46=Dk@@RA<`W|#03$J{&KBH@CV~@@vesRV}beI`FLTi zKy%~ic~*ZFN0K7jBPjw{0x;PCG~7L#KGjdrk5v*pK=5?8gLB4xyuCZ8YZ~q1D6p$s zy~1>xHVQ37zs}0Xc>LgtAOC~I6ADdvD8JAyv8}Hf7qw$K9bT#(ziZC>9YKuo>g zGrr426Jp!ocCXr7_1;-EF_}KA;h-Xh{gNi3EV779FtAv5>7?uC1{D>4y=y=fh`Ck} z;!}RCz}*1=&F|o4u{k`u&2mVU5IbWU2Oy3VpnwrwXL6k7R#%evW zUxCrT0$I&7HhA7Kc3a_ecYGqs1o;z+2A4b?01ah^T_$IDOHW35TB&L>$;+TJXb^M6 zSj|Jq!0rqx{IYszp0r(MKb8fjKdp3>%Vboi#j>1TaEQBVs9?$>`DsW#oQM3?}-9#m}sR% zATndzZ9IS4QnV?q>#di7BndF?>08A%j4<+*B1v4DLz6DakQTU>5Bgs}A%F-ri1qA1 zD}~!vw+Moa=jz+F?}m(fjj`6CA*Fd2n_FtGV0+7H*Qdl!XUKUdW@jI;eWCiOo3dfC zQ~oR&Cn9^R2HCZfunp5Mqx}dp`U}`_KL7~R3lRvA3(yXu96*ZXue<>y>8yC~+L3v!g=<@5} z>Y?cQ`7VNR?(~ovJ<;%xNC=RArXr_2?`ro4tgc?)Kh>@18=qYKUY~Nmai5q!sJI#t zY++dF2X(96hUrCWD%;9`mgG3?QaolYRk(q}*Eo~s2;|qD?YLGu&kuF2oPF=&{` zBA=qdu~gt^9og2mP={PI~s0BIt{2y z=72*te}||j5>%ZSPsuwH8S6BOZqW2^E?Pz-K6;qa6BJ(6H8RP;15Dv^PDk?usbDn< ziKWyysT4B?niu?+sn!dxH-=0a1Mla8{0h&@80;xjjL3mjYo z>a$R#jnQ9MM`SQ<`)_3CY;}9gox!a$$ooX3k4zw!TEL78;rmdD8$G z-)>u2HQSu5w~%O1tPdN3T?PHsRU}lZN-;}M^X663AT`gN}MJ~ZUeZ{Y!J5NdmDJnUwK(T37%*8!H#}gOT+{9 zsIRKMJZ;d5Bcp0M0yT)R4FkpqO{M(PGTj4>>R)YozL$5LvRHg4V<{I)ta><)9COlROosX3+ALH>|F|O@umjfc_w9jP{-l>wl(sA$UU?|W*&Zb(Cpr}N^AnfoafC~8WH4# zH^DM_-#TNtz@*}zIpv6KHc?MT=3gGo-=^%d^PQwjRmlZt0u$Texl4x(vz8kMxoAQM zT(}ULcS?mws5aBY6y6d?eSKD}2f#yhG%qG_Gzi^aKE!in-|OGcPOT&nlWdFW zH}dnedB~~Kk_`eMwMuuO9i)XMTgb>_)KX0|w1h=E;E5BGZPX}gWy*m@{XXDc%Cj;J zt*DM8oxh9@jdY{TtzRXP$MiIB`@!OH4XsNm9} zXbMFCXskq%tYfOx`w93?<;+**3Y^ah-Dr{3(D2F-J9Y~}J`y|fD11@OtIF1<#r8s} z<5T)nY{sr3H;U$o<5?%3;p9|s`DIW640 zF=vJ#&7P^tTnt@>BQ`8UvS>Nk&0pkh$ss6#nbN|FwBHZnE|4Mi39{SnP6~9hzvgM& z7bo>i?|>7P%oq~os&|%%AS}Ib#-S-ut@>9{Q*QcxfA3g^G8M#2u#(E}w#ZzMu1X4q zh*Sm<;OKHy<2??N``16z^qmBzzJ+s(?~?b&y#4#^?d~`Pk1;gSNMvO4uM@0g&VuF2 z6+74zAAEpeJ#>o6q8EVFY$7oA=}W0{eT|oAbGV&%lSfbUgW<%XgD) zr*r@<#Rhn#PTv=J$G@OL$?)V>u@HR@J*fr4ty_^G({689-KT^V&)>Sd+MKfLV!V9Y zSJw-D&S$gt;lW=gTc1U$ZjNhl5z=$MD0&7Bqsnl2@Sypfy`r>?BK`vTuV3CR9UeXo z@1I{RzoZ=oNZ3u25Is47FNRbx3c{a!t0Mk}?BA2iM<|kx6oTNI<$Fd8O~Yc2SxNSk^TUR!fkRDdM}G#V)3B{d zIX>$eSkG3yYCJmXYAU@y-|fwGNDb6RE?=LhJ8A?zBk<{ZKffNoUeA*N%Sbd?NDEWR z3{g;~MGIIAe@SlrQ^Q^?SuDqQu3<|NjbzI*Dg9TbZQUs%(bGR=xj^inp&$Xatx{O! z_~Q=*?`~1Du9_`esmo30ux~^P)T1K-rud7(A6S|)7zb_vN{RARpk!W|Bv=yHH+&aJ zd9J-_66d@)zx@m&C(eTlE8>XmTSKvoO`3|EdpXV@G5WFpP@NJ zGL)pI2+E9W4<8H6OLYXH=q~(LG0CdtUa(|ovroqM%aN=r?mb^E2HdK2Y{}K0c8wz; zn={{``6g5AN_+kO$#?rmP4OAF;LSINb)aOy0+W*zmUNNEsj!5&ATYd-MzX~?vz+U8 zoi3267jO3DMew?g`*4<^DxWIou~Z+;3jW71M7%r|I+T|gw%by<*5GA*-srsjkE`sZ zr0&tt5l@IHr^9 z_CactjQZ$+ULy)^L=y=tjQAF;r(5D})?X43B`tb$N77E}zOWwM~b->lk z{O_Jb1BWhQWD-v38AA0>HMKlF97jU2{5?2ER2lU+X;@dURCYR)the6O2#<0t_znjt z3lW)|8Cd)E3YkQ&s!%Gq>}0R1zia8$?M7>HGqRinaIT5A;VThOWW3qRUl#|4TU`Z7GM{$rR zQ$1JSo-*CYr1I8(NaaU+?xh749jdELHzf^vu}ADRI9hcRDdH+60Sg`W7K%5>5;sJZ zUR3i?Wr6i7AQLHbx+P%k-9dPbQ?k)#%A@7}tR)iZp={2 zuEr&I{EMyx7vqV;#C5~OE6mx6Yibhr!~brY7RbaHg5v|TG#CKP1Wl6$ZN)hB(R%TU z^|OsKfznfrg^(5x3vn2F8fY%c$?cQHGesdnkL@NBj-83v)-KK7p#>0wM6u0-} zNL$BYzaok3@v6MiE)#%Bx~i!;I~O2qizE^sq6v=s|1t;YODnzCzu60J;;3K?ZKAy~KAGH$!kguYZsa+-l6nW8wEBjqzU1OU>)vS=J>a% zrs)?yNM?shhzp8Yi|mk<=$0U#k~Ugqy|5-NUDn8u%sl zW(6^eV1_S-redY-$x8zxk-)>TI?ceS>7L(Ix4QioBI2R?p(5I@pJ#8!PtGSxqXbgs z`VMPnpK>)FDUQ?bY5NZc57);}15wXsK27JH6H`ZG?`PmwB`2$L2w6G0m9J+AaMa6#wBc8WwE*tL9?4L%|);vyDu_p|LlfE`8o*qE1sjAjHq%2J`zoT3v$jm@p* z#D5jUGsGrd0pHr?^U?nY$3Qs0s3xr^bckASqeIlXMFcO689QlC(aDwlqmx5KYZ73u zHA1m#gV~<6SH8)!(sX&lLdj$y(guT8v}ez%QB9gK=4)@v@1vTu0XnLQLC9;WH(I?KeLeIw6Y#d*W##fEwYfdq~Z%v%L)NoRA6bqCK$U>U$ zCf{Z?iQ05t*pblrfbe@mhu_1*z8R1yDw0uRmwERfrG6+_= z@;%BWXS_p!yJUOTmW?QIZ5V|D*PT_nxIH;vLr-w7dmOk+79h(AX-~U#9Jr;7g!Bt( z+cDMH$85AGTGslNEK@TaIB#-XtXM0!FftRVQjXG#amLK!>B(hRiCJ-2$bDQ1wHY8G7pQ2h$4sdW+o@(P(;NZ(-COo+1 zGii@+l=e81_V_66@l!~9{LRuHw_h9&?#&s5vX=J_vF8mR0pYsEdUn%02ZVD5D~Ryr zNp6K&Z-qv!P*X@aXKV!%?p$@OE+=pNu9^Ehbk1^dl%cjoQJPt1krVBwspHB0ugwFzMOa+IZk5q#6Yh*X-=F_t>gQy4of zI+U3au!;=lj6j2Ou10M5QZlz+VmF4raBX@-CBR=AvI2uAQwg$qC>jxkXZ+Z zb7uGVs1(gzvQ)b@ZuitzX@qS(z=jNRFe%8v!03N55F}?KTBnr(zJ?Fy%Fb;=%4KSr}jX_Ifp|!SYFCK)KoX{StqAx z6(cn|Go&RuZPL>*w9ClgHa8M?+)dHqoXbPHonA?uR_u@?L{Y|DlW1y82+C=W5FhfB zCOBx%D@TaJ*N;&_H8Lq9kWthXr0}#Ty>f&oweJYY$7~)CvuQkXx5x=rX@Ve1s|lt$RVmorTH9{hOJfjdh|w##sY<8BUrZHY)cU%myoSQruH%Zuru>`kZIM^WUb zYW#9?ZCXuzS>Z1m!cMAlXuh?`PO5ztl7b-D)(r@9Z3`ugu4Iy15ag*ljt>a(aHbRl zxpsmQU2MX{IY3XHpadHr5ae92350x+oLUU|QaB4zgy@$HJ&qcFhlk%$39NK7MC)+) zG$3+~(^zPnK0|wd>KcgLFgAe5wKI9L4BMun< zkvE6F;f0*qaB+h39~%hLxbjXh@}`P({qu=p)ZqpVkBSk`qe&@794khAO)=t0z~J;9 z%+Vce#F!`EaJLT|Xu1O<%Skkpe7OP}Ecqh7q`}kM#LLuDO^TN~?MgkOtW9L-(+M(c z=CQfub7`THvAHHeQH<_U)-Ly2cA-|iSTB4f+K_Ro#^$Fz(%RU1U|NAX8bq(`k_yW^On-VfUH_^M zUjA^Kq&K2Svl+gVJDY?a)@ z*ld;9pGb14CRL|KzGkZ={-oXmq?xl}a$qELFc%ropv)mT8+&9IO&n~&wmBQ$9n;M6 zAh**Vo2hYGH^t&GA49{q8!A81DFG+SX7sv(`;yYaJELP5gJ$7E!i5EW)57a%Wt_A6yQShi`7L| z)`6c{y5FZKMr}r*z#XjEm@BA#BOxU8iWS=?FQe7lZwuh)wpat+*Q!ZX(rN_mv4+v5 z@TFt0rNEjMOM&eW_;wA)Z>uV?#nzSpxke7QHtRKvVr#ReOL}6P@BnMZ*kx-}%T{k| zTI&i|vpz?PE&w&m%nWWlc{yOe!$X?zfE)L+}JUdK)Mc_V^e_wh<2>a!C+$y zxnudE7&|S~Bf`_{%Qu~NOcI@5-b_!6$u9KBd5i0}!XG({oSC-1V`b}q{`gu-ssW

    i^G!^yAb#(k58dF!krMqK^-jqEodYCe!mD09{swU*rq$g#qwLS zF*vbp)N>ojQP1mG=uLH{kralkOQ)xHbv-3am=kU`$$+OqI5f$Cry_!^$|M7x3gBpx z0q|3SCK)7t3bD=kslrbsG0C7dPx9Tv%O@Wd0LzTpZkGLT36J2wY?_%gk3iuO9GLXf zZK^9x5{XE136bO^U!CPdmgA(D&9cOEAqARciRVHBnq`USLP|8tIDo}Tg=SgeBP528 zIGNwYM~F1UEK7UvEX!p^T{p}Aw`8_*YTJ39b{L7maS4Uvl-N{PS`!M$y3(mZWQ5AI ztkQ@nHJfFe5XvcqW?A96P#Vp$!gHYvnq`HLb7j#iYkY>N)aJBJG(JN#BW79igJ)SS zPg$Mi_8iY=_NeVU-tk;Ju`bioYCyOZ>UYu6l8=#5nQ@+E5PcXl`QfE{sp&6=lWP2O zSnlb|1j@}phk;y%6un!rGd*WEH-Eu~u1hhPI*o&xS#`8oH?c4!C}(`7}U#9&CWW4~7{GsuqUB4uthWjIq! z8O{=ywPi(qw_;4}7vIk@qt4>n+D5r5LAacibp6#-;;dRPlCC0xEUpyEA2N;J=%QQD z+58EM9>(j!<_bKGx^2;S)+`X2_~0S!Epw0huj%KtxQH##6`8t z+Pn0j(ID-#=_S=sYA-8kgR2A!t$7F>Lh}SMI_ao}jkfCKQg+b|R-QQ%)yxFEbA|xU z`*&Jfwt>;c&RG`Sk%KFia0a>oF|_pBO5j_?+ff=KNUH+*(e={p=iUAF!~OM#-OZ=; z>o?=1g5Y+aOhKbu!<$$zV4YyV-Kt=~_X;v%MH*>{H3lx8$EVj_bn_wx9^bUGxQ%Uu z2T?{r?HvWZG71Wh0yq6AtR#GN4!Z&UtJxdp9N`D_FSLu(5q?0IuxhRbD%e=IFf2ck$I+pg{$qtLh|O)oX-_ z$&^x^MRuPrP+fIO&!bP5q9Yj*HtmE*6iAA;!g>Vq64!BlV51 z;)`?Nl&##x>Y*g2o0BU6m*4 zs+y9SE(P>KY^J`(x6qj`?;GO!iX1Hsj&}KJy4%Ip-7fHM7sPHCC)w@r_T3Jr-0kRA zWtTWm{=1J)?{7X11|FIFLZts@ElPbR+C4ulO?td}eE;-g?OC~!fwD*~MR#}CkDq^d zzr6pr`%7ML;*ya9f(L2jbxZ_#kaK3*S4wLRFkDM~62Nc|A5MDTT7yHKx&@B;Z>;0d zm#5TDf^jE-J-(A}?f6J)9cS{OfcU(^4n%b%iy#`)JSQ0c8-Bb^LkWE#C^ zDW_M;xvm`6w*8B=w(SwY*h3e~CKuiE$LJ^b@3c-d&J@9q=^KF&$4fche+$}gsWIKQ zf2aEvObVG?NKOjng@GX={__{<3%P*q3aC^d53@4FXJk>^mjV{oAYH1V6mZ=qY${+H z-QE{N3jEzqkJWFl8SyLznHXCcV;5zuC}`@foUx1k6*c{?CHV^)+i>Dq$kR;aXAZA4 zR-EN;!i?kJ&5s8_w|^xgx|jb;q6K+*XhpU_b}i6k3-UtL2-xk5S7i6{mnGU~>dMfL zXkQi{s06{`71TaM0lfXo`8kGo`xhFFw+CDdAaDOtZKJ_3@7TujkQ_tPjiI5S-u~tM zd<1*@mzvMml>*=9nKq8-W=4E-W=F`kf2V%IwxDm{qKouielCbn$R~gWY80%%qhKXD z3N{}!7NfuY3nTn{`IW$b`+{Xy%jI{$x1wEpdgqtY z;mzlyG*Pap!1<*-75ML~$lp)@NY+n8QW=ixXYo$iB8uudr64SF3!vz4>_ayu4yoiv+H3 zZO0GRcdtm>is?ocJK$nX$suXnSbh3#nYJEC5_V;SB;j1lHjJ=@cvv=!aNTwiQNi;W z5n>5odzTGm?MknfWwU>njsZmYYTo5mh!xv|!M<5$_n2gsA}i1d)D<{avj*yh|Y;t01jhyat*y7Ag*^vrus` z#O)&;SNSXeJ1Wf_s$R^&jb?#zl8pJ7{0sGEi6VgfFkGbO=K=y3kUSO01Bc_+IFA8r z{>x~BC9F>H_q(5#iQ)%MZ+a(Bu9TZ6Myl?B^kEJ89;B$R!z)PKkQAGze>p$5D2^a) z{KnqGtC92bM_eKgt71em%K=UC1BG``I~8To;wlTd!LS)DLN*m|_Cqyj2Gu{62yrvH z1dF2kGNzH^4N`lp(!1MFO z@}>*u;X#PbtqLZ|wl;rFd@Gk*7L3!t9JfM&v3UxDiSoy%rm|?$;ih~Kx{-=dRe=~kk(IThp6$OI)>I7R1+67zHNe4tA{U{}3@E~(H+BS_8P#-@v16&`U2X-?tzf;e1NIvSR*>inx~f!f z?2xB0c7$^*Z5~l5mw6K{%A0@>#`pJU1*6aSF~*K+auM9Nty?p8#7z*AR4?n_jQb;P zoV+oD&2`VJRDGyesOiB2z&&i|<Zy1EzN3ACoLrH;Rb_2A|H`mIbD@mmzkyRn!)_{Bi(6yxzXJtB1<>@p-~xpIE|zk z?QNf;cX{J=bJ3U?^ENk*&GoHXMtMlp=ev+fxrkD_FGREorqxT&L)d?B4_XnSot z9i1H2(vfrAb0IWwY?k#ER~l~`l4(rxJ0#wwxI8EYN2!6+KII#-9c>*3hKsNjecJl7 z$J^1ka$WT5*+Jy#%F^?XwDw7R+(nR*F36~-sw@TbmLL2v|>OtuL3G7t15E)QB?x1n(ZPD zqB4t9O8K^@V@icu6BF{&;Y)m7!%aBM3!)^uIe0I=`uO4MzyEK)|IH6HlU*pQ6;(f+{>`aQ;`M2` zLasDnQGY5bP53K9sH!+&wQGt5U1d6VFBO%TIU|fzmhtyers&v}?c}3m_g6M|P#Y=G zr%s(-O4%tpwghlsv=0xL5mskehI2?&QGdHKq!U`LOzSiavrxr$a=FN>a`appau}q( z2Qt(syX%zg`YBu2q`wb80MB0=-EA{&WWbM~-cErZCrUF;TH#)C8o$$g*U9tJ;Dh4R z-~-u6lvBs#!SAURp9eqg-;s&%mkZ4ed8PW~O!y!QcQDm);rAqS2yE#iS9fF`ZpdOy~K#=(@YeR6vS@x02$=fy1o$VAitYgJ!ehLsqmnJUT6Y+?R_M%w37` z!7LNwL)MFUjt`x_G`e=x#lVXJ^uyfv8}Dw8H|k>gl;09>Ll<>iyqSt7j_r7}`RjQd z++*&SkGWrqv{im*q^yq64ZZPvnW35Z(gfq>{M0WnNOGde~o@Me zmfYnB0;0?N3a?)%E$-h%wcNL-EHpRdmE!3FV#!dbCsQ}SCnO+hDb@r;EoDP7b+mmC zDW-0+P30l7rjJcNz4bYt@9RAFnoq`~DK17U)>}d= zN$utgt_%lUnJyUu;|fmX%Cs6XPeV3slRfhRn^C&!>w|XS?rL*ddq8!b8o%>^Dgn{w z18S8|TCFLcv|^M`af+U{utjSMK~um@hbFCzu8QEeG@xecw6;s8PHR&wyLElmbAg^Xu%X0NtqJbA!gXyr4z%e= z+H|e`uHA$6-SZu@q>-mus&xm}Mr<-m8V1bLd>c#0eA6d;;euZ>qWiQOED^eXeO!n( zl^?t|+!JebIp<=uDn$d*9Obr{?lR1kdg5T};0K?n+zz#Yl}?^I;YugE-B#2o2z2tl z(iv*oq$tof-Cc6q*H*RdGPS$rZd*0Dyp*c*0_~ym9dwhy{ z*>B&)xS%)nU-U`8sl4mpyGOOlIB{Fp|`aj{K$EnNvgarfq|{Z-Db_~YT1`XbrVAu-htHA0b0$|Y{YAL{TPA6<4M{WBgJ58 zt+~jQK+UwmXsu!+XUv=+tquq_J$-(D477%n($;F0?h9(} z@+{d1o1$04PLO?0gpYcd0pTlanAJi`xO!pp3y{`jl;qwMRZJh{JyEiKHUfeN;HL=e zcT;5H@=dw^*LO;a`s>$Mx1lq6n_FYK&x?_6dK%((4{m(u?pA3$RK_1ENGz zPY09#jc<>+sQE{_ERz+gSBKikg4(GN!1%PPj<)HTkT0@uL+O~UGlRvo;WM_+d1aj$TrfK)zpBXI)R)*@ z>wG_xYuH`OMe5jSms+s9wl2)t5WC6~V8QMhnQmNnV3}+?CQFEktYI-iTg$lu7}*Ba z*~ygDs7o~WLUS@UBpp7?B#e2^)b zU3ocVD~VX<1QL$5E%O^&qZg({FfDl{Ze=B|T?uy=8f<3T)0@@o#{9D7S5z@cDW_{v zIFITft$+@6Ynt%=ZP?s8T?ADRzIpr*zOG`H?o>EeNwUiuE+n_&LJj3XmDHbApBoCv zHKu<$BG1{EBruloa5fZ}TfnUAA@}8gVkGibxSvrU~ss{k_NqT7Zzb3a45WEb1{GLnI{FB>e#~UbBFsR+ zLr=>0LbG$Q?!6))mcJ%lxU5d+&f3R}}92er}bix(3OSE_TNc(}j0 zjIexLU#&d1+APuN-fmtE`ZMp6VKfeA7V|p}wde|FT>``LmM%auv>Za|5Dl{#b=N=dEe7Y@ysDXu-t1 zdPIEY3Lf1Gh`g|w=Zx~*3XqFXFq9J5XwgO}m>4t>IFDCO4*NoYGFLLM1r*SMMou_7xM0ZD` zSw)7SOlGrvu+Btmx;m+|X|VVnnOI0_SOjmjo^@`wrYhes+qiZ-3b{WoHd2yz!|J(H z$%inQdUYIcQdEcKHm7IYLUwMF05jrnk*I5eL?>wF$x3OUPj&H40Mwk8V?uavfn zJfBf-QRn%bEj@eQ3xf7CLdQKElM#t-fHkl1h_tGVyv4ncHdWrG##JG$ub^O(6L^@D zday!TS4F|Np^!#FYR2(TyK(K)ZX8p^(KxwT*2*}=ipz`pOt0#^rNkT2vn+OUw8V)B zmZP;oQ9I*QVN+`HfTh&S?)xe+HNx><&Fy}n5EjKp-U`={7`sthFn^x3(tK?}OSJ_p zS6k4g9OMOPxl{Nhl{8-f(8@fYUI1O0h^%bss+Bu+B^fBof1Yjvrz*D6_CW7cs}jpE zf&XgW6kG!BDxlk%t5%7f0$U!y7G1R}w=?K!mF%EaJKwx~mWt2urbtqnSiKf(RkB1| z3JA%obd8l(%&dzoP;TIhuXZ#q0h&4G%rAvyQ2WNoV6|MrTit}@SVeQv9n^9Ob~UG} z)~V%K%sbyxVt>XK^SYP0evS>4I`HgTH8 zbf>v=lW|;Q71JXJL96qpc)Pc4%hiRynE*|zVe?V48poTr-0vi2RlAygS+`NJ9tBy> zEY*D^IXPs8r?vRbb3_~cWnfa~AfUjmynMO5y16+-={Ons$X#f}#$A7TIXtH)BQiCg zAD#|ZH}9{aUGUA=W}cUfCo2$m|DtKi=0H3DqBwA*K(J~LL)d#RbPfvPgGV_iOcqQ{ z$^t+8x-M+pf|{X)#z%scU3~oXT(>ShUcg>kt;XKPM`yPQZ#f&fV_bZ!w<|6_MvPp1 zj9$3-Xc7+{a%kzyii?jIV)qb7Lz=*9hch4JTTJ&tuDbX*x9Q^J{J_OWL*DO`r77zN z?jgRFrfgqJ%leTtWxe?tEctT!%}}+RB1l4$t$N- zb;PBMkFK0|ycxOp=<0LQT=2L-Esxvf(b9|sNTA;8_LKxy~F1+cLu2Iz|KGdt+ zZu&LDc+HkwvsqoUW7lj}*X-Lh+qC99XIl-*E1f!c>cA)Vh!?)bY_IzRi^|6V@R~g^ zy?S7pJutm`V7fgpoeoUrcGCe5sY9c5^tv!plU^!Npuj-Bd-xo%I^cGlT)A$){Srvg z)Q+65mJykD2xdEM^u#E>T3&KVZ>(#%Qa?$t4GZt3IK@}Xld$CZ8d;ul0QyPNZGE-k znA6^Wa&F6>leoeH$kvSxN4{FxZun{$HS*Om*$>)_m6f#qxL&OLYH1kxYH7dl)iRma z_8j_8*M#xavfd4Rwd~OPZe8W8Wr$&RVqKGB!8K-BCs<8Nn17Iky53jI38q|u z6S^}-I$>6PwVWLKYB|;WY8g9}gDh~qT80=^x1n~)JEW*T9}G@v7bh8yCMSE3CMR+1 zt7SZ+ue6r&)iRmkRb7SQ>23iva`Yz-sp*eX{Ml2AIHwpF5~q3>5~uWvua<#r&~n!d zn_-u)y5+BHN*!r_9QEf}CepY##bmH?N$=t$v@rXjua?1Wh*QT5FC2%oiccj@x*<0` z@0G^I#phj9qhu})z1&WBbxd7)haF{mcABeY8pkzj^67r=5{7Qn>F&-*0QuP z`?*+XzFJmpkyUmOotL)9kr2(_JSwr|G~>eLbnn9CwBPX6vg#PHXiSC*Rw#-_ z_S9SBk28EC3XRk*89+_%wBn51^3}5X7)bLV0@ZLih@I)^r>PP=vs?7FX(HOFi~8j`_x$I+WX^r6XsLq~7ogO;JjHF{&aXUv&dr{c&F!ddn$ zv)x%)HKI3GZqXYe(X>5Q@7o@N(DLVQbGv1HwVdtUxt+C)ua?szwXyXJUoGoaeYM&V z>8GqgGp8z)99mZFj8oQPr$g5!H`xTH?hplsOyE^w4*le;E@+Z1% zvUW=2lYO-;*rl(Qg_2Fy79Zw4zFK)&zx36bh)?m=vH$~?h%~c+T?b%!CP2ROcGF#=rVs|9SDl#m&2iu8S)xKJBM5DdNHvh7n$~ugEwJb8Fb}g1f zu@-lVjk*6owMy1{)?kqwl`R!#ccSBXlf}Ve%Pojy5Y$w9apY=(>2S6bId@JpB*rRkl9oTnF?{T?tW8$LmTQwR5Us=dc6X z?^LVON%C=lj^YBHUpS~aUt9#7ZynU!MlfFy*zy2ATPH>HInSZ1w>{K5-#nSY;&r8- z?t;f9*scP*by0KB_&`m#FkcU9-@q4H{hO8mP44q)*XLzW`^L%W>fdzQV467-59Ww} zbg*zyoBGf^P^}Y)@Pg}J{-lV6CTP@w8~AEDvn4myeTj}vENA^FL5cEo0BesDbaK8+ zoTj5Bj1IXFTsK!}DvuJ5YHo({)I|;CP1(ttO!Tcowf!jJiqJjq)pEA?)p8p)3f46w zyZNZrS1Wp}oaw9Oh58Dr;6~Kd9anr)=!j!uH-xqnsdKxD$P~YEP5!!5y9^ z13NSA%cL#7is5hWLbXQu^d3+e3jJU-vo>ohI7_mjT9?WSc{XVFhe`sb&^$Bg623)+*O-cNe^=hjKmnB}S%9?F}d z_3@M1oXK_UqkSW1I`*dX>M<^@C+||cjCT)*ADcOda7-HX){De6iO0QZakq?=d3^zb zsz>yIE$g#OHx(;S&BW|2Q_4DiqTgL67hmkRnTgp~mXZ6r@W4jZl$Z5yhY!yY+0~mj zRR_X+Yq#?0ddq7#;!r-lmbb5w(%xIYl}pxJ7%a^Xmj7%UD)i*w>t zYO#4I7y8%#`b5HzZ{p0zWhx2}NzYpDRuxzl%Z^;dqIfTdclQrb;pPq77}M;339WXz zZglrr)-W{C6QrkZ`LA>>aesn*>=NYTYJz;^66E7Xf_$tJLAm;;m(-oL{X+t%^qTZQq7+K{>Q&u{^idhWG`KM)N9-vtm$0;9G zF29oP#pCbR`>??;AD-X6JO?SRaw6mUOzA_FhZd}SI|(jN2CfLoKW9{^X=!0~rbIs6 z$DR()k01Ve2&;nPv+QxLOr0m`pZ12YYT-%h_R#4_JybcaJ*ZtD%Py;YO?FQ*ya!YK zKFd)-@=}G?2^Fg2iU>N_^_vRMH$Ts3629?fAO{9q5Px^^&ENeWPk;Aqrh}aU)<+5cSNSq_!vAy;Gx6?(fA12T zLYfutI2RG$W!UmwFr+vRrgphBdikhb zSIQf{ownRtZYvD86?PR$LUKG~FQ_%|MV7B8n)k1{SZp=;+d_Nu@?G=%7RtLtMfg=^ z$i7>CNx$-!N{_q;enBhaSJ%&=qMq(z{UkcW{D7-yDa>~ZCJH1+JS~6sGWm3?R~?GI zERfxHmD6$(0~6@to0ink-hp4gKhZ>23UbvX+t54lcF%Y75BbB(2M(r#XtuGO68MXr zT;~_9=qmqSee+9P)jw2wg!w3PYZ_H`f}SP7bs_`x!^NopJlV)S>RmIbmhWZ)=Bl}g zHlf)y_oS}eJ2&y;Xm`zR#1V6o%!_W<-1#s(Q>@lwTPN4!R{h5C|I0uAxBu~*U;pLu z_uv21AOF{1{(SlUAO2}ru+bw^u+d}hQ|_z!LURS}%fP=z4Q2TE!;j&nnnC+i$4~{C z{LNroLKY}#$Oe!FVE*ur38>3I{pQzy{L>GA9>N7eF5!Yj(lV$5DBJZt|8#h{c^?*N zj|8j?%#cMi`}nyqJ5h`HD=&-_3Y85alG9d8%6SB$PpuD8olen9Fqh$Jnss(Vf?jVu zH)?9Fv$o6(B~bnj5GyvgbOvenzyINfKVAOzcfbG3Z~k;qK9si}M)FGf%1A~5f&Jnk zt&zZ!Osd`~KYM$uQVdS*>gnV3u(~5pHIMs_D>OfMBAtI*Vm_R9`+DsAApO34WaI6j z&6GPOVrAct6qaG9FbJvf z)QsFTi?CBr;+2ZnLtCE$((L{Ht@2|sRofN7TCsN(*nv0vFd|8c^NjP@x=Vsuebs?- zpX9Suylo9+Yg+>*oTk&{fzsn*?@(zhfnsW4in;0E&-khK(|)kTz8~~NHpbzQ$PbEf zsRLEY9D^22vG;k79J>ixHtKj#v!xDno<$8lQx$s$tyenHMb~Df6TK|j*3Jc>Ray?c z9@@3-Hnr2HY2UWH)ZQqVK>J9l1K1`i1Y9df z3|w_gSXRdb)I6R-n^FakyVs~UYr#WbKfKhd)93(|nf#Kv& zFs=Lv1_tk^@A_f?enwqNem^ba3JIpi3f~ z|K?7Ft=6t|B80Q;`)GAq4sD8U-$$F?N1ImyZM#qHO}139u=D*i`>?`o(X%X~PlneK zJ#(DP9oW|84vKlSre}_h-KmzIMSD=DXHGBanN#J?lu{>Ohn}^iQW8CLrdmLI{>h&i z+PY3qC1n~>BYWn_g&AIto|*dJa0ESb8}y7k5W)G~^h~kz46Cb@?;~*Z%yo3i;eeiX ze8y}`s_9vD+|KmOGqn-GmlWFI6-UpeISM^1S+Hc9^&$6JHWIr&R1y-KxKz-M@{ZBNP^-&ioAvK6hWl>ZYt&lW_l?ev8M$W0$ zl7Gt!ag1N;^raDGMXsEJ3t2G#^LnLr%klf>fsJ{#G_*94vQ0hgu!RFfRc8=_VdWT| zi4YFnID}>@6kVz|h(;gQUKd%iID<@2Y*&A0VtHJ6H<j69=*9Aec)|$1tH)J3MtfFK}C!#df9dP^_>5fa^ z@OzlDc_T$?pj?z#MOj|5>01Rn8iOostzHQ?QnDi@3a4~_$fsmSO398&F`J=^wh5K) zfStKTRQU^L0jw$^aMN53umy{%S|Rg=d3c<$!;bK1O6V6ln8g*#Ep*Wocgm_d<;n0+ zQ=-^NH%)Qnzv7VgG=QT-lxq`PYXhVq<*sYNtbhhzx(0)zmP=}jbEO=apm;8 zpc70*fRKVt&>)lNblSKg8>1EM-gVd5F2Z!t;3;`d!}n-P#RV22=@@Y?1XMjV)558d zOD`CQw5zuKC-N+9(e7DNLp!U>F*9Yhdrp#m5ls`df>m7Ue4Xzft{*=?+{XLfBiPen zc1P2~6EfAk37<+1gS8XHJtycEF-B*VUCkR}yHT z>*`8i)cX->be6dt^C;@U@~U+L--W&lE3)7i!D$X+3}1aZ++E(^O^JomuivswH;VJ((v zv6pA5jHatyu(A4gXVP0gsQ&kSTDfp+COL(l^L~p`CRGDn!HOPuzrLY$*inx78b$jd zm7~DPhk^+(MVMS#-sKCiNV|dKK+UZPPDJi{0ruVk$dx9>s0G`I;Ka(uByP<0eoq(g^QVYv;qN5It2t_a4ZzR^7U>Gq z6o@b1G2UUZ|IV1Z`f&4laHvj8>rsM@EuDt4v88du`7ya+7CGE1NnO}%CDYLA9S?uE zsn+8_Uegy^I&b5-Z!&y^KbFR(IHtBpg}<2$^>Gn(hWhE3=I+JGFVgtx?!|6ZaM4rB zGk1H4IrOz{+wQ_v$BHnaA>eOwQ!@es7x9lNp=jnkri;<$4?yf4MZ-x8KF}RgIz3FG z2chRIs#IKOtB(ymmf;!ytW$W$zcegyxYIXRFP9O#W!AW)$;r=I{4{-mi$shcruJpb zXdFZgPxyBu*+=j%(!lz}gy`wQ`w8n@_v_vLhY#UrPbZaneMcX2i`QTRfiEdBPmx|e zi8LpDBTve+zS!n?4E@?_S8?C~WyGW!ZY zFQcYL-R<^VDJ+hn9*nwh8ds@M!rxp#Z5&MPZV}8K2Qdh)+;&{Mu8OYgM~r?7!Vk56 zr^pPR_Y-(f=}MLIByD>}0KshqGFzd=j<|NM>=}DOt(jKH6XM$Auv4PV0~J||YY&ip zxA>BRSN>Azk@r9?=;c&xZFQv;^^_OuC$SmVKEG5Ah52srENjOQPb1j7rwQGST)pb1 zV#vFsdv!RuR@lU~2U16SXVh_V?S*91w^!oYtMBF?@`sm?oRJqjp)RL1Irg_O{Z7^i)wi8c+_ACe z@w7K%&zTR>@5_hK%GXHY7xt*Bm@&^gvNDCP}!4@_;aWa|Mwry*oi6?d@wma$A6Wg|JYhq1ovt!$H z`<(M#{J1~*>E2zdYFDkNd+*w7z3;oc79(<77(9)GW)0{ZAmfvM7a4FoEmSU&l`QVR z6ph&EJ(#pM*SSS%Q!>rD~(;wo42x#Xw%RoQ|_t~5w^90b}IybO@`!BX>eXd&n# zLdbH`YUAQ~DxLK)Kjz)TLZO-9 zvoAwM^@%1yO6_jjc?W!3!(eSpmREN_;I>d%lJ1|v~F7k*6xCsqm) z)j<|=D9ZrKPm`d}l&wGB-*YA>8rSN_v+G<%B+cTlj=uPpnj&GGrj2^IwcWL@ZRnF6 zWOu3acprEVc19B0WxO>J(bqQbi-W|)4LXH+)P!w+rWh6d#G$B=YKX!#r?QZ-v?mdw z`#WAp!)FtU87ZxF3mb*-iO*7O$olW?H7p6`DGC0c=@D~`B!_q$ zTbvJ;Ih4K!R>k=>R=jxsgYk06f{*}qut=U8V+7P!1$vF$+FdQo7A;mtC~QTsh?Jfk z`Cq2{a712qJKal;JJXx0_Zko9t)qFXp}|0P3itSv+-JJHY_@n z8(86HX+Ie0fwe`LQDd@G)C|N85w^QSUwHm;NEs{4$mZmXX%LVVuQ`Xtsi2goY^s%j zYKs@3=8Kc;R+I_lrgC<-qZp1ji>TF9*o~x}7`a%i;-f;^zG1R6{3ueP@2mN;jzv3G zEs9pJtbpo!Zjkjc@XNDZxcFOE#rtLiD|nzGh?waUs~iO=+pN~yoKs5Wr|!%Ubn9I&n}qYe#iDu+UQHP14K zv@`ycUPIZ4C-eI)fp>p)&3HXfK=aRH>Zs*9=%rtr0Iok8TBa}lxQ$rPrXc}J)SdlS zmr1U!<5Dh3wA^zF90>x^OY0)<)x5H%$IJxXUDEMV2f%?UfBW+K^RM!)kRvtz$K6(| zQg}!x!PxkQOGlMN{g=l#EfjE`ITPVR*08aS z>Df6u7_}ekKL&6gHeCjo-dNWzjjHI)u#1hr*UuSf;UNgu9o1(7oB$;!HKOODB8*y$ zXH4^iiFvnztRB^i-8GlCm>LHeOVxh!!)S&I{pqO};Fqtj2Z)}N+{EGZL zdh^?5emb^d^q=ar7yHFgzrgEC+MjYes(M;$()@1QLNqd7blKK*qZ39uiFmNWc+}Tp zrc~m|OJ?4I23LGy4%jrui!wCF;T`T1_ADNOV>0nNFv1EH_){ybuK0U#=hNguE;yvr z{$tXie=pLci;4f-RuG2dNwpuxf5CLqv~V2<_-i^a1@xMT9Kh^Y{xv2?=`0_qV7%+Af*Qhd(r(-@Ms{ zJI^aM(Z2j_h5S;%1@Q%m;!B4^$da z&PQ@|DxZpui1&VTIB((tY;O2RM-;9jp_krBUSpm`Z<_Z`Z~z=kCX&!wt(r=|f2P`_ zpX=!VQLsTi>pG~ORh7qTpJlo#v*i1>d&4$UR@phArggerlV{os+CerPGQ*i0` zl%?jD+bhg)kCDG~J#($0HZLrAs#pLa{IfUFUQ~Ndg%s1H0n&4=v#P~FI%S=g>oIuI z^NdTGo11gLG16coPp>23thPtxm%dgjXc?D7}9dt>#M$8b5Y{-=&!Js@y7- z{neFmt-?#tiFk#4nRnAoT!=|(2b8#>C}TFx7nKe~tUPP+n#*q+dtJq%7>{W+GsZ79 zC-(}Fd1e2^eJSeNbtqomtZvdjPv$9HsSFpfF|IYiffcr zh(w`Qqu-T5g;Ko6u+7^$PnC08envlZ$sXajn$G-Qq+fj{rKbxUn;5nq_h=Z`N$_%y zH&hXEdF~?6Y^ovJs>)yw)A3NFtOH;mRhF=t-ls`VcW%P+Fpq=9A;sM%FN~g&{yvA)R$L+g5M{-yY3`-N z;mg+cusnK&)wBD*_xH=gn}G{~i~7&!2leN%c)msW6bnuYo_s6#OX5At%(L^fn?f9` z5`1n|^_z^Px7*K?nii^7cU?_ zBoh=?>l$f_=s1JnI%`ywWLL*$MUy5`BmKYG#69G6$OE*?J4$LP~&Af-7U&O zW>GiI6f1GTNK1y56NXH~-wfv)g6$58ls0|esCMQSYVgq&&>fbT>m;Tp8=7s+Y+@9P2{v2g%@+^ZJDcE3s4!UT z8xptyU*XNEkS__5o} zQ{P4SU<^rEQl${htt+?L!NrgZ|L(QI0eK9Bloz0Pf33c~>LkS!+^|(Cq9ALHmJ8EA_ zwk91wieR-)cF@xMDu#hgHSTEBIoW(f&^hR)RNVbLJ;oJk(?+tP2~nsE4bBvlC>>libNb;pS(q&JATWAwg*ZlO{t)<30|4f zHTc85nYX;7SF>XE=@Yj7tc4&|9m{#5m|3XG0B&nUfCI`j&lNSfyWbPlx$5D!`osoO znfev<#R^X6oSI_Tt*VB-LNOPEVM6Ke-~8@=JTHaZXl3ewZ!8@4@R|k4kN-{WkJtXh zggP&OyIhEeOERwygu?U^t;U6vZR#h2vLcqq(;53dKPz3igz(K{3gc3X+ar})SeCW9H;TMW{c0e#nd{+9s5^x&R;=g zDM}X8b&`eu$?;pvlv?{hJ6Lk)|4BTd&mRe(sGi2OX)b?g2SeTRymhy$1Y7O&n!hg# zt0-2sX7U7m{>?nVgYc3az5C?_%N057dE0h`yEQj7^NlI!C%;7Hb{IM)na}uR>ZPI% zyy)UNbDF@cndz=8ayB(XB!Blyo+k%p-67QRU$`$>9#Es6U)t1GM=TXpE(;7bM90mR zA}NurG=8!VbHje41j|fL`J)NN%Wk1ArgRkxCue_4eaT;{p^7$ckWy%(DVELnyoZVj zQ`29us+qk5%kyU!!C~CrqE);!ycirzNr=FV7@^lvtdwdtNf*GR?u&p^T$_Bd!)RRf zv;CY~Cj79zcr?XOG{$DSwS9%7-RaO|s*5BE!GntBY)?nUQes!crHhLIg#z9*&*pEn ziq@-j8;857ZK&DJcUiv^ig(F>E<@AVp#2SZ2p~4qT5t^+I&oM&!#dw#nn_gN1)bat zC=~xL1N2FK?YwIzHDsZ1+~{Nji54S@nt4onit9*9ZS5LJM0#Qw(=Jqmm4IvZP@zR< z!8935axR8jTGJMkSH1200#>i3>N8M>`fHdUtf*T_GBPl-)Nlw@+@+vfB;mDWzcVr| z-@G&O4O<=IIVL1_PH_(O_0%3}d+dgJpEX}0+La-M-#yhAvl?8!3F;Hnu1tH8mm6@1 zPQzf(=Y1&7rqZSzN&d<`0wCsfGmE~(RJ~?rBy^Q_l?)z%$ly3#L32!4Be+Ou zMVSJaFPn|r5${cF)+lN~5F!7BXK|Q8p|JDf-FIUYN=!)anbO=+NRf5?NLV14?Er8U zLM1Q+Aa)_vE6-*^

    !+R2-C3BS$epa~D`+Yf^d)o@=WM<%kGJz>)j`P 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

    ^1UCp$|dh`y0V5v6aO*sdhW zEFv-P3vKz5EYGqgO}hw0evHI9m={Bg!UIFKDd$Iz!)SOz%Gv=gFAUR8!m2c{MP=Jb zb!IJej|n#>%0q`e%DE9hbHkn2PSrkfUEx4?bqhGox zJc|n7v}IdCP?b}=8NLa#LylL>wy+cByx@C5s~DPQ%J+PZE?mBB;fJ*I-*=uOF_(58A)n-)C8B#;%u+RrQskhTDR36g zrxfYEW|MyzR`qq%R|rtDxY2l(x~iCu8GMr*PxTdC@JjXdVc}b%u;-Ar{cshRB#Y7} zX4MreLXvw!kH=%rZ`f1cHuSE;=7fNTm09{WTMXJI?pb2L^QD5z22Cgk-lakDPT(nr zj1FG7GZQK2Cc3Z>5|kM258_Oekqg!%usfZwZiVBn+JQ6hcrYY2(BaYP1|I#msvE?_ zii#a|iD6bl`5fhz>W+Hhz=<3U6f|^yelT~`s3@)}1E;1gXU@uqIqP4dl?Pt{twp%o z0-H%Tycy|cmny3Cv=b&{DYaF{S4!H-;@A4Cj;2`f5KrK(mLGS$E$V1{yGJ~i1vJm+ zZ^p9bOyMC)8Fi1gZ5emXk?f;@|-B-en^r($|YmYBsq}tL`h*|Dv=RU1^cGTfuOb*DbmktK5OVfN)mVqpt* zz_@!IoqEFbHN^~TY;+FwOb>%3j)V^%Gf1MDA`!m&NdIcnF+OHT5!b|PB&jB?nI;FM zGnto@t4uF8O&W0}Tao6=Ao7)LjWX*~#15HCMk20G@V3r^K}Tz{p$^yy%cr9l4@tyW5v5TV@*XNZWJLFL7g^ue_~SK~B>%H>*`0CteMe1r;0oe1aPL#_n}qE1|p=ba1S z`renYa_v@71>G+amQ`5k(x^SkU<7(u;rbo0z%1`6gbFWL!Z@Co?{1**OTX)1aW-I+9pu?mG z6*zHCnCgmy$l~(oVu|ju3aKUf$tlN#nf~Lh;26X#tJvR)Z@>v>@;-+Z@P6ULo4*8* z!Yaw!-`~cJAg|VuS7qd^^&r2AMODzOSGs|u{#z4lVeLj}jyCaJYqehzo#A*ANkO-f z>H-X$F84MbL*IL6z=Cs2u^Cxa6XwjVub7^l{Okc`@O{PbQztfmM4DkdA(5MQ3V*1s72wPqV)6xPu6mIujnf; zaIqVR|FLiiDg!T_xFf6SUvEz3XdzOwB|5>QT#rt?zLbWOtPi92N(gXB#YNx>;v<_y zHZzH4(UzwoFfbkWkeMODAZ!RjE3nY8E>XMgXuv26Q3p`rBh2Fau+m;oh7F>B_-Rm@ z(DZ#ld;t=np!>R~4LP;9P}AeO?L}h3DSu|=A%zePek)^yUUS@!JAP>%P7Y_&ZFwRU z?3(B~JnS!v8^OqLW)S5h`~&>-FSA-`X+r3)^BOXbKBndvt(Jk_K%GW{Q5bEJV~LnY<2XNsJ@ha7xJ19c4#u*h6Xf2|B^ zKd38YRwsBfke*p{J^)@g0@VJ?UON%iC$JCtvZ}7()zxBzO9bTU6RWAsc4jxZKA+on zM93D@=X|z`+!KlIA=vXnBBs^1;GLywH+mpq~(Ew>cmcKw9v8(70hik}9 z>4WBRv*i7m$FOGQ8OpVob6%JPIe1bunLmvzwor)V+*O@Kl_!U&XoBX7xz|gOg++DB z>zRCTU86KyL4b_yp5GzpQ4%eKuErJY=~0?6taU1K**PN`bVN!r03R|)`*CQ7L7%QV zUZ&Pbj0VD}Rjswew2$cB25ETI`Jz0fQ=Iau_TV2{@+RmAx^!M$yX_A+l*0Y zDQb;G23Xsw8(I-rRvtV%jnHu%^s1i&IIO2YK#JNP*6|sX&(r0;(elL$OeT_3(D+;T zTWuS2(ABigu1TOICgQ4rf4*B1=do-)FSRgqI-}yub%r(AA_Qkg_xUA~1;_GMNK)em zbf@~9&LI1~qF$*6WDtpZ;5(vodfm{0m#j4mVI>16 zQ<>`1I$5fzhDy8`&=e;*3DI@c!d9RZ^M(P)e;uSgHl2YqoP=Sb=Po*qK!ECB#nOX) zv;-LRATjGID*R9~=1WuOHFzGGQ|Y2;H~1o+LS2)&Bty zVj$co{5Kb)GS2NGTwa4TeW`=@79lc83y;Cjokca3uGJ`gMDwNT@HXKlb1FGw?uRy+ zo&&0{ZlOaO4mAcGp~x$_^=X{)fcMbx4?7@!O|YGmKsTdmKrvD3$A}-A#4*Yhz2i8Py=tPXwM6GU zJLd7e+hEMj0%N3YZjP|=-qMXDESw{lQ37I4D-wI-0CYGgWgUrlRxAi_skvjJZKHm| z>~b9kNRmH~0Tju&mV6#*l0mw^Yd&6bm@j=(fOX0s!W>RoQM?$LT)kk`9*WPHI19W1-mN#gG@ICzhaLen7Og0aZ7*DrFk0I=pMV6)| zDleG9ZZ82v86MA}t9LpuE5eewo2}||9oP?c70LUhIhzbQD$uU2sK~O(+(=Aq5ITK6 zrf7J5Jty^oj4$&(?f6t2$U-WK+EY=)Ke~1+9ic6Mij7WDlYPj#j<%{GI!cJOYQ5}e z6qE5H2nr8Fq5`$7;AXYsX$heoWdP+^k8bO{mI2>u!!-GkSuTu{2Ifdp(1Usv(yo^< z?;vUVn8~e^NPRZZQfqb{Cyh=kbrNw^xR^oK@16cVGuQ*?cM&8pAJ5}!_=U$~$&RCk zy*Z5dl7uJAm>nSb!87HdP|F7lWMNaE@{&*da&B)+GeI35Www^<_*C%vV%j{$)+K#E zi_$eGNPAMT`i*)UqH_9t6LY(q!iDsakhHYEjs?G?PImz+Yq@GgfhO2FargFA$y|US+NUIJ&R*z zp2Y&&!qBp5Pz6NxDb(ZBl%>HrEGT*L#$>#Onw1`uRS~{q*7Vc(335FrJ34f^C1V>p z+s1<}6iXmuw;Q?)9()@gzNqPwCH6ueJY+s-WNv5l_b=ceWscH^->c-9QGF0ve1JNW zH&y9N<=obL&`2aJv?M@L;P{g1)hc%z6HMWi2|&aMsXs` zFsdogLz)z}FFvHX{r3{CEEaEb4cwf8QUN7d(OAdg2v*G~w6p3`8(T2=Poob3Lh3R( z+kVfwcPSI%hbBy=1VG zp;%Z7_4+w9RjF5y+5mw5+J|05ka>A;wk9I#`+Sd;PMRz;Ixlv>E>E$eT6&8Y>6R_u zB0#3~gOH3bRZV!K9^){GBe;rA4C~9;ZtH-ya zbxsYiPNJuUc__J@iMgYc0==!-2>xKx6IBv;EpO0^Mf@$l%{yuMo^U*ZFF%=L+zJ$7 zgolcS?R(_=sq3@BbnC*k?NRFwji{<-k0sJYO+t?Z?;}24hZ&FXA%4=)luu;m#GM0a zL<1!tlXh^bC@+}ab%E0Ueo~Uos9lYE8M0MJ6MCIFU|M}sKMSlB3^oBwX6Jkg*OI>` z#N>H8Y7y2hogPeGGbDkzOXjbevSi|k+n06x#nTD8I`AQcf^O`^xUe1IVRe@RLWP)2 z^r%_8=BWi`a>30dMaK}MwXB;TDt;vi#ZiMBDBpYWr09N$3auZ*Idvwa+ud5h?%j5=G5LxMfmVbcUJL>L)29VQ(d z%r{1Yq2!|mh$A&=hxRo;R&_l37CPPdqiB*2n)IRZ{WhsyDJ#zbROgHxI^25f*x@=Q z@m1CXi8mQf|3dvNwA1KDmOwEXSDg8fVi!qX&TCf*|~yp*eDX>CyO62%t^s{6DgR5JV+gi`O< zrzDNr%q@6JH9hNEiD=iIA)Tz0hyN`t#zvdMfba>5g33QEXl>#9Ach|tOUy*BEkNnR zYw96F=qgEC^R3z(X0ED$slCL8i1!r|}De;(I-1D}a5@4-abh|lLx8M0|D zR5y>XJX*^f8pzrw8FLL$HxC#ISynOcrd64z7>YYv+;4H zg;p$8bN0J{XbG$9(wm_2qQLGbt+Dk}B9Z;xwjGQq9Pz0-g3|JwHpPP_6|EUwt+Ztx zh>awE+_^YDpI|FxGDU-f5pBu=+WdT|$5v!;E?nr1-`SL@*y-RuzyT0Sh!FNV9bKzG z5y>%&<-}V|2g)r2rGlp6iaMaJ9A68{ONe1`!r-e(jZRbQ>Oig({4KCzVHur>FeNF> zbjASGn7cv#DDEp*f84yh0Ly!$W@Sb-(W@kCsZhH&yVR(FI0`fIJg(Q+2M~{sC{0e} z-OpBLoi+~eYBWhKR*e?k4=w?0b~>DjF(|>{=B%tI3U@id2~cn}_ujhDQPsdCHZ z?VNgp)d3y3vMYL{mQ-TlTC*Z6ic=2tsmx!3bAs6?g}S7_;!R0KPTwnKw<`=&sw1ms zbn=lYX$O3V$5%w_wl;wVkio)>dBD#6db1#Yfb9X2G*0elR->?kOS^ub9JOT&b(+Gt zqEjZ2CATa+sG#7tCy7WAFeS2en>m;L6nua})!}gSwRd!sGx6|QIt)VcusgL5Dp;(6 zxK+gYIZT8ur?q(*;Z2q(1{fm&1dU+Xz`e+}^?C0B9$dfeO< zT6l*}pV?v-Rgmw$pXOfFOq-X=mZIy$kf=^AblgDYV_h-bFJ1n1 zM~={!3jOLYBEHo4o$ic|$S7iyKozwwE2h1Ajv>$mBG=f$o(sAio*~-8SY|MT{a<#+`XkvBDVY5g)qbmGQwW9N;jkdsje_WHOx4r%C4cE-MSrBZ^5ygaM=qO>th* zu!!Xd9jUH*Xlsq6V1=V%LFSD&XA@jCu4pKNeV(T?$g<|Vw-$BnsrpNY3#d0ccE69l z(He`Y5>>8o>@J@c<6Q>^r}hNG24{(*RDd$~c%0WPdxqockQ^6oh@}Fp#A&YADl@)r z51FX95JTbz!cnf$ob#+cc~f1u66i$~Ct&AdSp?7R-hvLPPkD1q5=RqW_FiDj=XA){yrq3PVFBp0l(;NZ?eCpGy zfm~b&KAwb^E&&!}w;&)7AsEvPX(uGadd?IT)6uYCbi?UySYMWzMmsB zaHZeqbx?e$a)^3P(ln_U-{RazSdA_aY*G$PW(v9$Kf88Oz>oxPmj|V{s%Ae4%`rKY zA_3f5D!uJt!kk}KUmXy<{YzObu!}9d%Q?q%IplRN@mw>{n2V`(H|Q`ICxo^iNHk?b zkWlN6&|*wm!WdU#_J$YN$Iv$pNnqVMB!;$i^kB-~p`z;-#xnX4j5iz#fqmPNILf}$ zL9H84i?Z%K5@g(ZsQMvui< zVW8wnBT#!Hd^X~|zFSaud^o;cy|S3R6gWXIkd?3Yfl|U) zeS*SdLN^tEq5%0(T{~WlB>}!mYfa@toG?4M1rRtw`)M9SGN_2FkKn6fdQ|FQMN(Tb zmA9}{lRY_ys0F9JUhcO1w?vRY%T$G-!?fWLhIuP-y*Z13E%SoZp#TiZ0 zl@dv6lY&)zAk62GL}@%EM|>bor?$M;Nm!CWw!EX)qi9DOrA=(zJvt;N4ztSp#P;D{ zGfSuKPCY9}tkV1io+4ZmUcl_WrV@G%UkQ+4f1yr@GYg$V0~jBciJN0$W;p7cB8;iH zz?pkR!FH)3D4!(qI4+3$M#%~m)+9+dGz}wXU6>9H&l%2nS-G~(Dhr>OdtO#Wnh>@& zalNH17(^QP9}T`aFWeC7Osd1gzVd6{D@0Db`z-tJ7;a2WqX5h$233$Ip~(c+z==fr zkS5dZ@)J<Dd>CWFBcp^tl|sS^rJQhA}rH=E!7@3Jc+RtZf#< zb!?tTEPPUndd=ffl=(TSX7rdy1&$GE=(U82DI9Z7OLJAr5VPppaz}Gj%W+er?A51T zNpV%H7~Bc>ET4vZqN~~lhj8$hZjPr}1C61vbBHG4bbcLv4GU3>wrbc=N@7vh>=dR4N{PS$Dd;cir172Lo!peAIlOp}LKx^ocMA^!NT$TF z;KiWmxWNoKq}4l>PcS03*c6JTCv!*QjPY*E>W~7;s)DOo+X3^aq1~A*N_Nhlv1VMy z!1k=6C7#zZOlo*K7&S{a2_1Fxu13Y5AYg$6pV1}Zi z%8R6v&rw8l_k3mQVIA0&zDGxE3)d!poA?*h10q-3lOe2!u&SYA4(vskGv9QwkMT)z7Q)URD~D|dw-mFoLSUzFZSSV9R?HNzR1QX3*`?pyWc(LEAs z@n8qEtv_Uqrf$Jv+qP_Y6N<1XY=QkMOhi8~-25zx`RL=u1rZ%^rScI0+*Ms7U>h>D zWJl=al2F{LCn-`fkQOa`(hSg4P8XIDzANEGrKm53%>}Io{}Al+*c`^A0*^A?QDCm) zqryiWLjhMLIoe&r&QaXL-8jsaLX^^$d`!jRc|iIWM7G&F>`M^f)p!Uf^Wg_f&tjjJ zc{ASS91|I>BUlGPgiDm}>gQZ%NxSlz;{9}*NlvZ0EeSBO#aX)bSPHXCcwdcg3WH+0 zX#$syeVRv4gvH)dKvuVA5E(_Fu@tiFQKLh~2DO)`?{Q#z89dQC@CD1lw7z(KoT#cw zJA!2j)g04?*IapZT+@5JF*COo4bQP@aWYq>n?f@_sAUq-DA+l)#3+rRMSY<`4{09O zH0X)FhSJlVMv!Dg&eLtxgq&u3CyqVPf)}jSi*Nw<8XR;zqw}8Zibh~#s&#}}f$Ln< zt1)KI>NY8i9&qD_ax@+-w0972=>(OAy)MjKxwK1*-3RJ)hUX-5-s2=ym*NvN4G0f( zlT>;VN^3DYBpCy0KEicEOA&E~3}s=ITQ4yJR3(`kREIRsiYy#OHuhSamrhigA1RpS z9SK!XP%9^h(yNY6&cCVjnvmc2$N34 z%(qrM8yxz$m%9^Ibx>!Lst!4*u3=-VPa-hj*V)yCsK(0ELu}Th>4Jc=1~HG&y6C>{ zwk8ibIHoSc7YO?^1YV`kwBIL&(@zwfA-$8aQR*72l}Zb(t-Lw{@ueG0xvnIe@Ng9z znk+Kp>9V9e14?->pLUI#bXdX2j!*NdDa9*WpETa#IzA*Sz>b23(5gV^sImLGg^{@8 z0w1VyLV4B@+82fm+g=AGtjNvfSz1hMYZvz?!oC6Ow&pZ$`F>vsWmImv&ZOooKFuN1 zq(h8u{T!p#{eGdV=F6|LIe64n6)RoIGl$^uDB5YDFil~uryx;qmj!#WZMC#eY4r%J zC*z7eusS-4dfNe?WDcCMzP+*Y5=RdjYwqZ z#r+!V)tK#QJyHKIVDiCut!LpYu9LI6%Pj1p*?{%|@$e8f?kpoTk*&?(TGh?o@j7SO zp@3~)4r##O<>;h*y;{VZ@UDZDq7mI=5J~89VqVJ>uw~rU@gzO;D|pzP#CKRdGKU2H zEUu^|;Pc=~R_V!{^HOOQ1NMhJs4W{v&59$?qb(cz)11S6goD&z-Je{GNTEYNnSNFf zMtnppqW_5-wT7Nwk~5}Da!lkAoft_W89+x;Z@;M;1-0K~mVHydsbSEp#Oy`jC~Zu{2q1pql~0r_ssOVPuIWCCBhsO# zrl{_+AfbZ2bfoa$3^bUUohlXPK)?>D7DTN0em7jYrRH3vXzGOP%pvL%RLR;i&m~Xq zSDc)=I%n(LN~|Ik-WBfEm4nvJlQ9FLChuiJ72ltng)0G-Am3XmNf^QMKm1#XlWMqE z6KF(E6BgxV?4Cd8JWKEizMn@iOYM=$VqS<_(TVRX`4QY}Y*r@`(@;T}FeJiIax75r z!J#W9L#N@mg|%?&gkVX>A6c7Ykq*VLn3~Y^SdgBKUDBk8Atm&5!x!%Q{B$U|;v6Q~ z!kQ>sK_fpa7;khV|_R& zH9r?u(nBu2W3{+ua2B+W8N7W=M|e=Xv}fUXLm5pt>U)hsR%KyPo$`7vJ^0#Zi-fT1j?8Y;*Al6Rmy@{ngOM^1-?nV$<+(_cDB*WCe!QZjG+0ojc~M*_ z=*s^2a*`l)Sfx()9;$%D@+>|dtD0&nf{x*8x9Gc5?C^C{W&ytem1Po7w|djD4PKIU zSRRFWVBx~(`lXYcZ_vpz0|OQ0KjWGiAKRj-PVkIRh3AE#PR0O?(_0>$c06_?TDJAr-c=ht+8IT=Ui>0R!s%Xyzq-recGcW4lo8>{wi z>*2r`MiHy3yqptcB{`*_x`v`WGCV~$HJkHQEgPuzE+;b-ab5Tc&~4+Cog141&*?M?j?Ncl0OM%d7k zy&${fEdDKv?D4_;J}>Q=H1u>yW-2K$Ai}gT{BzR-0W2PzROWi#S*x)Z){!7*D5zKM#ZkAo+;;*(XeknTPZrlq!_^yNAiQc)_^w@SHiX1d? zv|zpS>EM0H^6c9agkP^W+x;e5KJK>ohE($cOUh+>-%!gibF+;m11{1a=d!RMbjnac? zW!LtF;)d9E$1%>+>JW_i-)dl*OuW0^$f;)eauO2D@gkV7mOT=iMpN%!t%wOei; zHjfY6hvnV&Uc#1bZ+4bj)VJWe3YO>q_S=PAsCQ~lu0>C-V6gJCUCX?)A6Ki@{pw-6 zTt2Qg+s%5nk$cN}(r27l?Xx{+v&3(EcY}}le7S%iw;;qVrlSBK+S{e>XD~D0u0Huh zPw{@T5V<_`5m{;H%SxFq!v%sZ2YcR^38-{=4)3EG%uD&R+vzEjX#+6T=_kel`TZn81U{geMTnOyR|fLmnHW=e*1tKt;FVv4NWTU$wb z@j;e%a=Tt@zU3%X4hRK-t5_`0g*3cK=Q@XV_0>9zY z(cZdVUcI@l2kUNaS$FH{x?8VCd)0c=j^cBkhIPWHcdMBE%O5^|^Ua@v&%XTd?YF`2 zzWDg%=fM|Wefh;#AA^7W95R_5z z`(rEOX4w(q$Gk%V@zZL$13cc|sax`9J=k(LD;SgIZnxcS)(@-I!{+XOy_5>!MwLRq z*B1D_D%WO-a&43yb93KqiD(5a$~?`F4ZDRH{oA$SM?S?~Za1HNq9YLs^u{@68{3#| ze(4z1ev2M< z(wUVK1mtF>hh_Q+4ZptZv;u=qA_wU~=8> zCQ8%&gJ_nww_I-@HxG~N^>TNwtgZXqaQT$1mfiR;{h@t#xZTR0AO5B6_eYHiYk9rE z9(bpIlya_&CV(QHB7yuH(fsyqJnVwMeg<_T{rFD%ojA~MqnG@n1QdA@q`{qT=9qYj z8+jqhsEru`Z!UD-f!n)J{`<`=66jr!L}Qagn7)LUN@zDf+b4duPyB43_}M=3vwh-c z`^3-oiJ$EgKiemMwom+QpZM86@w0v6XZys@_KBbE6IT1gJhQ~u9FgU2Q-n~3WDto| zIK;(;GYO6jr1%`N?MxQkS%Iq0QXE+A3|)2e5WP1F&LN4!LR}hu64`P<&zzFHAKE_N z(vf655bJUKtz7RryU8^&=uJmsAvRY}hPwsb9!0wlFVze2YOF?!6jq%Ztm--ot$f-I zV1F?)Z?2oEdN|lxhwBXrsJ`@V;XMZYu)=*>VBQUkCHKQW zZhv-0vKsrA6l34g!&r6y2F5CPE8S=8JnuuhPdm%jJX_11PHlM9+r*Z`F7&Ywwwt-$ zxTW0#Rs*Bh+G-TrcpAl48dDA$yryQS&A{xm)t$=A-rzMdifzY6vDvoErPg@4+^N#7 z?xseuM>L9Udux|s6x$k%Vk-}$*ucEF`Ls86^?R>n^Ic7M-_=@c6a(wqPhb?=co@aB z^JTS}Z4|qIJEPc=qK0+T{N9g0=kE^@?@gwy9@A(KtdztG9 zU9Wq)*{H|X_gB7`@w@19d%tCehy9lC7~8S&usf00o8D|TdM{JVWAoq3%z_95>~3Ut z+fbB`4e{h$_h0Grw)Xf_s4J_xzlFNe9p-mr6=6M45ta^BMrt3^Lv&!qL``FKh@!<2 zjgj3OO>b0$?2bRANqt+F4ZFRc{(V*Dw@ZH08~piwueeMbG`!jMYR*V3&V0>J@P}U4Q8bCAUXxgM2B+rO=|m4` zj=t};n$EHd3JDPD-@>|YNLhBP>3)8DuF&u_1in{PqoE~NyePJoTvU#nyY5Op4Q+Z& zY4ZBB?3JLd55)`nO6i>gOI$3C=L&UM~oF8`^N`W z@GX4?PDK~U_XB08`>`|LjTw;f17jb)-GQ->%l+pYX!+elW?|yPX5LK&mzG@g%BUEm z3zmH#4e?X!>CW`SL+{Hm(s_5|2dSwhzuM_6wdz_~_bPI7xUElo_V3icVembVpM28& z_`ZLpH0gcfp>6tTvDDuX`&ED%g3k?cEw5o~-4&}n>K`@htv!A3u6S+T>R(&e+wQgX zao%g|=FapeYJ7fmKD&9YIc*4oyxEt7Z;CvRV4B4?|%7<1%6uarJ`>#jaS|y4le|}G2^`l8B5B7U+Z;hS$yz=l! z@z&s%{!b=dDlZ?FEB=q&-Ey_uQmo3GpRLN^NcwkeRlajr zl}!UV{W^iP8e6v$?~lzBSI?kBzgNxyIS4tLNAC2pjfr`$Ou4eX#1GyH?YIWi%cbsiUH=oT{U)*E4n0_4KWD zJ$@@)Pq)DJ#_2$?oj4FI?x>@?`!Rx6W{HbSvkIk2QGYs(=CNa;N z^B{mpjqMr3B^E3E^aQJkb3{Lv=;CS9AI#2vuo;cZ^7hVuShkMq$$Dr9U9W%kdbV9p z9$gm)-E~(mc6}ue=+HuX)@NzWi}VzcH?V64Uhh zTGRCMP9IW(Eiby~F?kE@4z{J`VS71!*#7_7d)wZ~a_mg-d;N++V+>RRDuLwTtFW^` zue)bFGhX+=-7{FjFa)I(s+22BN=VA?DlhiG@8vrWc`oBdD6*>BjxUK+TwY$j^SnIg zIUGB-yYr5VcEuh7&2#UnYPnBq!u7^pW|W-IbMoma5TaeDZC(V(CaiGWGWC+Ze|o;W zeR{m}8fpFiRnJ&dmj!PEw_YAzpYA{9AYziR=-!J=Paj+LdO0byyku1)Y=t;}EDDs5 zC{W&`K&g1Hy(rKoP|6R``=`5~E(Q8&_v0d)$~b=U@l{nJSH>@>ifH^qkD?H;Sq3yH zyjM;>tA@|^l5WuV;b-(oOs?_@0mPu)ZV11)q7ZiZU-cdZZD!TPcqUl~2ccR0)NG9TF6+amJzjunczp z+x^4GkAcpkmT0ujsUqCqO~T8?5YX0qRaMa`$63p)RP;{DW+DgToh@UJmNDNO&>Sj> z>TwSwf+pf|2rDHABAr`Tt6We0NDyRC?PkXU~fg@Kdn!5N}*n^g6=(m0-_^_xrm){OS5nfBfC`|M>ks zji^3LpxmRPw#>-4t-VtTvV}fn=j+Fp%h#9XrkWRtpi+tZl6!bn!Nq>fgkv)eBVKEH zWoVBoqdt?;Q{DxHYegilVaau(2D25S+#j$R`RuY}5cSr;=2qdK`#zAs>V`sb8CJ2N z(arI(sK)-tF z{POjGS{CT*r-!@e=ch$uV86Ne`Zxdi`8VIZt8o5$2KlguZ*7I~zkK-EtSYFO{W_Q` zpheSJ6|nl9k40$|9bk#gn8Eq3S)7zpN`w@mm?AhyddvcGi`mgZQ zex($+s!sqy&gM8mkf#p)R^pG+iae zt=R68VU4i7RU!b5Z(Tb(6-;|;5T-fHYWT&zIs_Jnh)9W2E3cs%`)UQTxmHnwJNDIT zYm7%1U}cfmYxjjYEdO5r;s5&YzyI4mUH|=W|LG6^>ra2Y{_Q{f(^_1E9pf6T!e~BQ zwV@bTdcCOSOLs1p|37|r*;sq<RBGIkPesH_tyTca9K;O;vvDiVCBSWlGxP zHh|i8RNTq>BofNZo&doN-&E#QjTS@5%vv*2f; z$nas21WV4`s3BO{Y6zUqZr7y(q?BAkvbTqWkxzXmW;n1QO zmN@8(l|v~h0URhRQF4}ZjELehNE9b9Q5=S=Nz#WC;5;mnSnHDS3ykJctVKoxpF~Cj zn@2{AWX$K0uBQM%{6(F&6>*63NWfE0@g}QBJ-kH%dH`?ZqdBk=Ak8u8F+MK59US0G z#z=FJBT+Wg`y0?%0r9K=i9q4|0-=RHZm-w(-x4Wp7siTP^yDYrq69+2>nl@65?$a`MMJ+~Gyy~nGOW1V3hF}+6? zrz57hTw&|QbiHzg(==nYXjwvPT#3a(t*6`}!v%t~rXD)nvjL^!Sy2G~n2e*GI@PDr zoH{CPUo{>r-mIO-frBNz`*J$(DAF4q^Fq`wE9%QR512;hooB4!B6rJ-ttwnfT(!(A zT*V_tA#q)qj<@&zFL#$9x*s!G=n^24;Kp)k$ybho{fxz7Y}y5r7L?WK0<~&#fm(v< z+3G3y%9}#!+Ur?<(-yY5cTI;gwrL0sXy-qe`m0}~U3r?|0`cYB`L8Da7IUm~}qXO+km{R? zh^SrX8usR6TLk0ZdV%?OzyE)(|I2Ux_^0dt`P)DJ-SYSU{_WrYx8MEtPuZm9hJ45aU)zDIW&mfYvBIk}SPao2;0yv}d1qNVUvYCl$OKc+oSxQ1%4TNDtA`Fd1kQz(jZ490FBH8Gi zMhMk@17x88WrGKcPo8(t9|k6GkEU#njnw-lN-(o`q68ZlUYR~(q6ACPe9Vz!nWixq z3jeKv^D%_y6TviCAq>J>($WwIdtjYo;ept>Rv4#0ypbLgvY_CNEZ9pevgW(wW1vgU z-gI~Oyt}`CxcAWmpVF`2j3SocTV!^@^>{X=A?1c@zs7N}RDdPV6}a{`5Ye2L0M4uz zWd$!6y%79M>h3~}(UL;&`gLdoX(8f{6YX6inqb_xPqJzYZskGHc^8THtA3}YZ6)-Z zg=$gEj42a{o}>a1mPn9mW^E!kCIM@G6T)?e*)k__hNR3hRMv8yr7=8bNOCM3Wt@!6~Pdx+ywmEV`Ntsu= z?P^&RjOEQ7p}`!n#2a^H%^y%jg-;$v@w~hJ^YzoxXY%*g56g+Apq<5h@}_wNx8>TA zth;vH%C!?5QdKY%-lm<-6G`bd66-b+D9(^1{mH?ICA>L29k;>Q+{^5xs%*MwVWvN7Wm7O_;ND4ifWXN zUzN?8(<6V5E?mnZ7+||rrG>1iOIzbhyD_#_!;whFR$&-290_kCFbu0ud5MB8Dbo$g0wi*I>t&kBxv<8;ef< zNJF@MDv;Kss8>dqbfR-u7I2bnoDn$Z^ z3yV!mHlA9EyM+uJJMp6!-ix5!sePCej05n31%!D!%tm&3W&Uk z5ogo$&7&7k%$CC`m%T!P$*g-d$S}m0qJ;9*SM?J2aji0k{Yi6V{H`QJCw+Zw#Gu5% zlTxllPbx;psRy7g1;WpOw;qLj;F!cKm4=*p5w@)AMF12Yt`~K$cQYCFq0wtxXH6V@e zBHQ|cPA~AriXzMNe#)^lK+RFS^2gf;U_m+x9O~ig=Mw z<*e!lqvsE{@a9GftJ!y2oZ+OG@kU2>x)q%Xc6)*^6u$Xd+5<#1L$>MPQl zJ>trWbh@qvuKELQb#h8E9~AmG{V`BT%zP-;-_X;T<6xCo$1O`mB!f~zHmELqPkQ0< zTRd55;a1tP8u+D>YmC=q#4yAH|bE7726KENr$v(JEVinSSFXg#JPH;GVy6^QI<{AUbsG%t#NaAcbRy$ zE{!7}-~F^~k>#;v=zvYiVm<|^qsv5%l%oTd5hqSut@uH3aJDN|rq7QLavS)18#HPI zC)&{N3F2`)*_S3PBjH2NRZ@vT@)_E*`izYW5oY1I$A*PBaa$D4au4quJsQsX=1O^_6lS%yO107l*b ziM)ZdO@Tn(fbQttq1mTRD_@_!-#uP-J*B#n3+Dbvs?h>BT1_WRClyAg(qux%o~JH}mDpow*CzH1ZnFQvm&|U}LXG%gfxEMd-3vg^yj`VVNHW4A4}IZnwtG zMj=;)hZ}ju#XeJ(DcI9rFfWwlu(#In);xYHqT0kNQXyO3OM9P~lA})v*6fRrbt$u2 zIA!h$1k@|?e#I}@yA>*cp=SL?O-KiJ29i*>1Cn6SiX=j4S?NaDVXh!oi>#BD>ifL` zbn`^(_o((8OUiW~q(G7!4ZVwT_8bw}lv4kG<8+-ahDXxYLZ`9&DD8tr$Vcvm;;D6)R@HVNfhA$w1CyX({Gyi%CriVe z*(*s#)CNNjJa94%rLK>Q*zY{a*N`MCY?tm6gX7uF`vt8Jm1c&(SsO$jE&hd?&-3G3 zL!{_r-Ez1J)wE3lcfv%>8me?pA7~@7T0332UGdl{S2_iehGHT@0%54%gqfGlO4yPD zM_HzbB9HGPM&%m-pHOLzFChxWJcP4LGEN{<;&Fi{WKANB4iSTL%~_O3X z+d7Y7QxHi5DNz&jUD?C07l6fFdo>niRlEMrhYm!h>{+q#2I{bJ zl4<&fcJ+kgR-*K>wdLlN6$Ds@B-ee%8KnVq(qx|Xy%p;KvtDN7d) z=fm61qk-S$HTU{f1D2k22>!Xxf-!_fr84@_?=&zL4r89gd{r{b31q@R)YK?85X&NS zq28j|u5_ofkeB&Vo^n+s#)eUBN3Bu*maN}vOB;gFmB14e(_@Lm5+K0t@gPCuV=SeQ z_x4l-=3B7u4*G|uvAX6NJLt&zPNlXVEyrI@gbKbAVn9AA?ehb`FVsAYu?^_jWO(EW z%8EJ#Z@W^(yzF-B`0>71kiDJKjmh(4bqK)KQPJq+2&;dE=@r-9G{txi{Tu=BIIkt# zs+Kl%;upnZ1b7n!lq(Hd;w9127$jTb9QzkH3@U+E{G46%Cb5pr;vc7ju`hE1G9Ram zyjHZZ)Fl)I0ktIX{fd!BWG*(U1aV5?VMrWBn0jKel%lvxj`Bw_Do9@lbkWfJ;ok|VrJ$F z%V*k6yt;`_EPux5<9}KK>32Ggp{RiBAE&xzl6r!Q&gPDKy8SV~;G7)G-yDBpf+e{* z2z3ul$!~VF>|7=myJnwB?hHpI+#WvgB>BhI=(BwlKblB$r6s=PRmT#85hBDWf)1oo z%R)LXgvjb)u#V*|5ZK6!DjU4zc}2aYc}1t;Cr3u*d4~s(J?b^)nRulxa1#9C1zz(_ zsYzS`NdL6ON;*N{cQ-)Ua+?Zlk(Vd`^pQibJS64932Z;$in-q}AgV<8HJ9a$`$j*v z1dkzmwr@9W-6EGNDDJky2n^1N)Jx2g!Nv(7+Bq^yw;7a>t>`}153OpjP$OSQnoB-{ zT;5k@#OS&`mE4#xR&Q<6kLZktzCMhC9zeXES2W+zcdQH+crDEm*W6GDh`QfKduWc* zd3{P2hU8PE3yZB=ooH>&{oUAysH5XLm&9~9jQ*_|XsbCsr9RkT!6(rwoQ}TkyOAD+xBZ?#d|?62h5`@`l)2n z#L&mZBgjymxTXTh{%owGg=3w?MdE>xT-AN!w2T1LYkt>W^sO0Rh6l~=envX)f)EVRk(K0<}k1z z{f#;QJ71by>TyH%!78>j(5tjcs<8F$q{EaCKgz3vl6hSbvcz2iDmk@$SiJfL9h545 z54RJ`GI6SZbi~qOZgvoL*;ikTR&+mJ{E@Q+OIJYOLv{o3-|jCsjAO-oI0astBx#z3 z4;8bxKNJt-Nt`R%E<71@x=-gqQ7eUx0WLm-3|%uz+777eZ}d*Yt)O{M6BI(WNL9J` zr)K$&J=%Z6G|%ztqx@JuveSNI64|chGY#ERoo_b1fEr}ib-3?N67z=6Ui0<1-#T^K z;Z5w2N=c_TlyM{yrMr6Ap`i!6Cf$>Z+GS3GIa0do?>w|jwd88Nevs2Wn^s&;nLOEa z?8jB{ehYDtO-PVUaF9(4nFo{Pld1Sq_VMpStlNa?jo`C_?3S?80rN&39)DAg8xiQ0 z-pJ9qKzLOfE6t+0%9^&shx5BLCyb*)GEHaI4h4Xe!S$O`O_VTs4WwTUa2X?Sy zTg-_))m&Wbau0SzNXLrpR}*DV`g~d_6H*xOOxNr}{7G#~qGL;5`?6V;gi33tk5OS- z_%lbZW6th+tv_3F)WVy}v)IuZ1?sIzz1YXQ%`67tc=6cEUsmrT4MnSeG{R{yimjB2 zR&DjxpSl|_o=r^c0sg}=i?)_BYAkAp=h(G}^UdO2bxK#m@h6o{8@bfp5r@pQA`P?P z0p?qt9m-t;zY9yL)LSJs2T-B5Np@_MYzpQcDJ;`Qvq5S0iUsP|JtIsEE z8_N5?8G3_UgfrV=4KDj9&$71t|ChMTV)r1Q{xAPB>m_DCtF_0?#^w12tKsr9Dxm|k z69wYi!pF`G{3AUJO(27`6OG@M`VguU?Q`&HJKS<6kp7|yQOu2cGNTi%(Z>8E-0BlO z#8r0_m=|ff*cw5pOZ7q(RfIz%my`R+6^R`l{)D=3uTjPY^oZ2zQe@uL=3EDf6}$v) zt(3}+CVx8IcC2$%;?mXJj|Ye}BN?(Q*@Xhtq@M()w?kY@IK z<)lU#0mBUcO8_*otThnE5D^Kr;*J(nhUi@jPH)05(<}%Rlb()fPNPm@3wPKn_~H@u z1BSd$ED#09*e|w#O&f>+j7ezMzSv)30>3iqO4>;5ws|tx_0eSC*EWd!Z_tK@7E(X4rp|wi&)*Sxa;eod{+PhpPWtot(U> zoe4sLM^gQyTD|Ctm;rD0>{lL<{DvxxPC9pptC|r(&{G>aF>Lnix~qWY#Zbbdd_Ol> zs$qQ5)^@6J{E9W{S8*!5d=IYlPU<@$DwivI7gdkQw6El^4foY`sl45;Q~V^Ze^bGB z3AXa0vwmz#>{@46ji(>(k=LPaogOD65@n4uv{E$pDc^mXc3V1>C$I5Nnm$wPbcT+S zkPglGLup#c@NOrnmq67`7UU^I6H1FAOJInwh6Ot zl_i$$8=U&Lu@IZpVZLoI678d4w&=U^z@HD7$jGq|KHjhk@;qfd3od~%U)?6|jx-t~(goyd1Q%OVrZJLk1-d-I@&J*$ z!jj4qiDOj`2in=W*elv$8Dw=^?KK2PfEKo$Ir8VY9(a>Ay;%d}n5Yp0#wYV)4F=su zb4V^jw03WEniS`OY^jmfc8Q=~jufo9GJD-gFqiVTG{UsFcfzo=Utn)2@Q9**uV0HH z0mfzOTz|`>U$z1v$%^F7^^}Jd^U4NKfq%|Hv$u$y*3Tg0G-L(k9lgQHXnm3S^@Q8v z^b;Sk$~tJCw$nOkt)j}rF<{$(cnNe|Ee zi0-@UbLptZ={)oM>1R~wYFf*znmYMt`6024DKrCCw(scs9s7yhX$?CU>Qra_mJJZ! zEGyt1A}xNtI3Jy6ApM^a!LHetN&XH1!@dFXGbA+7?uu&xeY^pH-~P*zwSlSq5n4mH zZ3f4+f|(7Z?fv4a2gf8Ye2^G-&aLX^BiO*rEI{{BSvzhI`=D+B|4GcO9ZwJYIxOyU zSl;0_xkhVpi_vB`Oj)turu{J2oF7F1V%GpJPBGfA4~2+ehPKxKpX^T&3K8E5`RF`Q zJ9wk-&s^R!H-lHe+fY&8%qIYco??K*=irxFq0H1FtE!)rve zL~vz&6n0&yc@bLo9S6}y2-P|x+V=knsAYz?@3UW0fh4N3gwfqn`R5hC9=D3V9{V5V zfvVrZE4QKN96<&qm6cP@1VAh>TT`>b1~iE<%|wVzq~VHjiY#jV)iOUU4s;aqR~l_f zNUUao;$ZXDtx%so5=3ODj?pYHD*>AhA@#o;3NrT%6eg~49f6{jpqww>(V`?u-}I0p zJ&BF1l9xH|dYc^#X_u&0!(WeJtT@3Ry{LmEV?9&*nWoNNTTS0z)FoE+WHa!GLQcq}(|b8M_JGHr+;Y-t%bsY{ zproMt3LH?DxxM#KrVm^s&(@LLKFS@tXyf!i%vfGAGladfJg3^Y1&DfTo^*3xmr*V- zmKA_#X%)?uw8K{#jSFjy3%MwDYb5UaQknPxb*MGRikdMGU4O_tfD>C^gzB?eQa%wnLr#Md4L5N2TSbV#jSAN}>pn`4agJy``v?t2LH7UX&JH zSQv0iqKavP5lntXv*!-(V5>p#Wk~l%h{5Ij4osMDH|zD=J!4@uC0BU`w2d9r0k5Wb ziXQlAKR(7Kpc11BFrdml=%JeLp&I__OZREoRi>JhGOTSA|5%@*ZWHg&B{477p#1Bg zy|q#krpBAO3?an%PKbEsrm7kJI%x0w`irO68IY2*{v_AyGp>hwPU^EHPcJLfMFRX! zk=)n)-@~R*m$F6nN4-2fJH$EZ&U zBAL6d1$e#l(^fD!`>hEa$)nF_~%#;F45gmz7XB^(rg+xYV=x z!=~s74el`_8h*tt@cb;>PWCL(aixk{0H+>YYXC|4Z0*(<>0tL}uPzvAK*4~@|LdvZ zal{Hx%7wjRcAS^xsf@0Yl5rGIYZ41goSQXWw<}pc<91TtUBx5u<8Z*P8-uH+QR{@7 zJ5!vItDg(tBp#UB zi%W`i^)am|ASnoHLIoqAQNXPzT7Fb3af5Ft4ZxZp zU^te6Zg+JNRCxYg2)R{Y;FO?o9P3~&d<%2z;23@p6leUfR7hw=$USuFTuEd_3U_e> z5s32aG6C}G@O>?1fG|$Gf4fk(EEXy}ODxMFCr)`V{ID8`Ju1jY`7XZ7tP)EiG!vtI zj0(DjWFDb{0YQ>ClT+UuD#DYo^`LE9bS{@Jzk3jjhAl|puhfISC|rc*16Nx<{1H%~ z%;W=uvRj>Ux9SgIS}jo3uUw@seOk**->{dI4JPf$Bt8LZ9}sGve5J3!^m{RZ)z1yu znE}`~5WL|H`A$yJmD|AJlRo|I5Twyd!eHW=fOnVP2O$3$GmY7X$vYY$wh2S45P0PvIz_Z)K^0KC);I9p415`sk9iYieoxBe z*jAbwe_a5PB9K5W{c4=&-ozd6Y20((W`1*!`MPb``V(@~F~+VJ5U*OB1*34UaVUeC z3D~+Myf*$NX<&Hz3TeM}**E6bul4RUV0H!spfW{53L&V1?vo%X;8~`DaF*^z!Sjc>i7E+{$*abz?7u- zy4Nv=6NvTMre@VMwcjcgMA~<5SuvRBYS!XrcP>Q3E2ZG=cP)g(fRX1mkb4zlWOGU; zgR?tcxBnKY>NjbHc?c{!0rnauR-rb%A@*ROB+^_iJoGV9P@KdXf#LZ;XlY`3-@sxB z5)?hssO0*T{__BAuBR#RQEUNmi8{N$MtYzSj3PUe7DE3Tag?clu@p)wJsf8@vj9qQ z*BFE*kZOK$1#sbHm{*~O!sB6u=&Zl$g2Tz3rl(*r)13W2-!k(W!_$%NmR-{YOTF`t ziDt*J9W1k=v{7N|b*!N~9Az`QUIRMmBWs0uB)Q-dy*2bGuLyG!E@@IFhp3d(NtA%+ z=$~=GuJz66Mq3}E9mXvtTBSi_2O9Tk_2#+v?|eTiTZhfFK$$IApI=wd_S=fRub)-3aQR;RU&l1C+SX+e zEPK%df8u7Ks(%HT=Hkx$oJrj5DfyK6c&bE8?DbuS8PMm>>YjaoWp670KlztvKR-4$ zh@Y_3mE$_toHI+{g+){dQT!|%J1ovoX6etH&?s4GbwxT`pMzId`|@AAE~@3f=`U^F z+nvk4NGup_wEdGA=|;DBxwW9H33Z_nY;IEPAZl=#pUO{5te5@k+ui3>Lq*sF%#{NM z*bK+C(B|&ky0(k1PV=i@{BQ~2tZwW4QAPbOWv09s;NY|odyN$EoEiWb&>}?IenL3q z)iMYw8cLy;mUZ+sy7v^FiMM@7IOQLoV&xoakWbb_z5aWxve)R_uUdlq0yw1ttvVpP zKCp}OwOgB1&1qV%q8`*c#~hU;7iKlqre2^k8fulSv}d{H`pXAo zs{3(vV^)f;>T1b$56mzvI!X6{7*+w2C3WxZ$VTuDsD6Ri^H0+_j7FL zu|>k{imU?)sqxKK0a3`J>}O?Pkd6^W&44yczs} z8T^GTKGUlY17Y)A2J^q6ZrAz(ZvLBch4p4hTYkZs~%8T0&DnX?kNURYUR zQri-7x&-!|P?=J)=1g^dj;87g4;&H3#7LTQRuult%`lVo1dW+1f;d_qe<7)NG+=~{ zXc03yBzYwwv=^LcDV7C}Yk9|I9j31bknd{PlJ#)JnAlGXn-42A>3RFtIsL0-KHsc_;1V$`ia7$?0*{$-{#$@X9wSmjGA=;M?k`-1B!_g{=)$PhV<%n>) z#i_`v{L~|X(m1n-QFjFG4n253)i(Fnoq=!(}*}833!Ge3^A_6!}@}_CJB+vjVjJ2khqD^UMKL5k?iK$ zGa=Q$jEt7Jd9W>n!Kjzz=k~maWg_%nO$g4>UJK$&+qM&7;gUkt_l}C5K=j`k#lqOu z`Zqw%Ce7Xgi|PGZQy>8b0}F{XIxlFj^r(PILQ?eDHYj~l zq&BSJo~NRqJXBHO=o(0EkTztdk|d(3Jz;63q9AUpDs=N&&!Fgg%Bt}c?!12BG7&kaUJsU8~QKB#5Nun>A&kM#BC#im69kP6l zwmFJin0Orx&{k_L-!tkh+l6LRc_XuawIy)ZoR8lTlJZ`bw?Z?Cr-pN|1P?T6KVekr^6yR)N* zhiU^710_!6#DM+Y8rGa%yCYui&q6$7BZMC1npL)iX>Ql}q>+r623;@jkFUEk`k0mH z9DJLOm}#@}SDyljokm9{+LcM{xk>K+o+r}kS8wItzwvc@(iSgwEPo9~O!94VbF<#i z4BXx~!p;v|$kAF%Tn{+C9}XU}zf+1ok>|~O;ZViM?5RkQsSvlYOpgx3)wft5Vb_SV zVIw&#D;=6QluZ@?>BZv^7YtQ3zATn(t+N~ZwVKpuN&}@CNlKV%-4Q>J9nUA;Qn2u0 z9mLf=!K(9x9{O6#KlMxNfX$F#yPjX_6ZtI&1L#kVjwr55G^|6Bc^X;X^7uQ=Fn ztVZos-byS%wASjJN#kKGM@$1T2{x~l)C5+~#g>d#*a2+H4V_t0sWN}R5bplPc*B3s z0PGI6WI?qi&27?k&7@e~WR^|=-0_YxoDu!kPHieV)-Dm5Xf;)GY&H1Z8Z3DYfB>kc zQvsFmXS{!4Vg3^>-mb1*TclqV*Fmm*pSBL~kM^Hm4J|8rJKn7xuGiGl^ZwuFjQ*XE zMExBBt=oZLDhXW{yo*5;o83E~kBmh&2mjwaxvgjaXI?#f9EqV;3thLC@D<)nOY5$x zrKc1=*eJIn+5-o28_a+Wt!eAD?k=XS7qANH?w)_ccXm_MHxNrNFLxR?e-*XXa-Fn( zn17Ndp0#^?e8_LEqA-U?(9uZ@jzkqXmpkvP1^T+2JeN1HM@CdDgxmLXhY4{xc%RvB zu72h&M#)`0cJ?b#2&eX${I}oMSoqtW@v=-+aso%K>&pzhxzrva(*+PVJU)d^(1Z2n zEDR1V#2t5a@g>a!4%F(OmruQ2=}BwKD;swKqzb1Ue(MN(4H}v z=x^rY+2$H9EY7?;aD8n3?D=^+Fy+#5u&OV0byg9@v}SUroYhEK!7;i~{8FPDnOuq5 z1euY9eY-VM^2~-G5_2C`uDUJVJC#^Zr zGGGfEo>5VUEamm(@%>hhn^e<*ujkdjO$Y<(qlRTRvckK?O&{`?cVk+J2bGT<18?(lwn?8KdFi#p#L?CjVs zPTBfvq3C*}V?x0TxPkQYH(+)htVS_cok}U$8^*_A1hpBvo4I1|aQzW;BQ@e&!?}pPc)43lJ zYqp5rs$sl8A~stzZ;cruKi$A16zc?`wrFUXo*Zk$cC&{3wlNO?-OGQ<@Hk@#&>~J4 zmk6Iqx+Anw=SSS5hJK;gEyS6Y+(^cwG2CaAuW7xW{(gPz_Uzh#3&~c~A$5b%b9hMH zv*^=~s^`U$+;a};#5CQ!x4g`=d$vB@chl3Z(&8cO{>3d4gq)AVYNWJ z){QVR+2ifm=IPbe5oi%+68CYWxEEcxt+T`onZwH+IQ;E^-Pz8KStMe18PCfDdZ*K;s(#_v&n+` zhjPUs8)!wg_hBRi^^oxcdw6ZnPPE}rtOJoMjh@x$G2O<4^%)(t#CzqK z#Jtm5w2t$_*C1SJ%(a83v&up)!L2MTZ-=!mZfDujkuiy2;>Qpj(_&T^K?itkCyW-QPl@BuA!YlinbDw3>P3}LpkN4+ zd^}Z6)S280vW;|VEb{o1r_SD+2QBH)WoZiJkqFVE}(m#bV++-UQqh@Z!`v}KqR8U_1bXT`R3K+p^hBqm1 zVQcGRhvfhvXlfT2OTT>sp*WA=9bT@`Af55{dF*kvXMT}&YKX!&s!L=Kvm036MO#jclD zer@bqAP1q&fwfCZ9$=0x#Ea#6TvjHMg(wJBz~Lfj38h*e4A&fBIjG%RWhQ@lXCk`3 z3YwV)BCkjU@6pA8TjVrKo1`Pfv4Wy50`wQqtMbDCP;6((uiA)tSrA8j0T~;`+JK5; z%UFP=H;^^Sz+A$gW?T0uiwtX&_F~)}w92~UUl6GYI5iHq@(?07*t!gK^M_ftmj`W& zMVVNbd>oY6P-5h@%iFg0+80DPCjSkEC6Dl^3yQj<@3&tFMO7jgwniSizAM(C#u>i9 z>$U8_5^v_AEX`R*wTxj^BEk2kQZCUuA6v1t63fqUJFF{bOe)LyDj5vLomnP{1Qog{ zezwpleBqdqw@&WPFgM(IX+*2kHRUMsy)<^x0PU7{NgNFwmsxsw>XfY7au1vAB3ljy za~hpElxM;Zrna`9>6o)I#_~E!<$;`nv^K_kfyj>E-@A`&GS8U*194zt1JD> zr-m}ZrJ05ov!Oq40pCAyFVPHGMb=`?*r17m(vIRG{#05sjXGUzahNqjmBVF%)xG7c z;x(iq7zB4Jz7gXyOzT*rJ>qNiYD!ao$-a)$Bn^k7zvMZ|Fi~TI>H=5%=v*h?Rfwaz ztbLMiTdRp-OXbjOyQZW3X;=uGq6a_$X*_`0)ul-IE-9i_W=TV`N`Zun!TcugVXdpf}+Jy0tmYV~sHAn!+Zgf^AF$OnpH z5Dsxvu<&{I*+Zx1xhX)|OLA3%h~Jor$LBfzXKZPHX`LM!O6P?W>(sMF%hG$BbiD&} zGJw3d<4LLNXS*(pXw=R~2AprR)6+-35%AWZ%h^~9(qN|xco^>>TbWyM(7HIE7x0`W zy-=v3R5SDDT1e|3xUGvG-HSX&ERhTbGh!rBNFW@8n=Dz#Q3Z0xizeFEk$ZkLOvX20)$atRq)Yo*DGnA~Od>x| zq~$`Eqo-F6*Wg0d8hM`ZuXP=^nxqv@=v#ivFxH8#!T19QbNRDaB;S{83`}>-K*e2$ z%o7>G$OV@rh(HVufW)PtUM@>wNei3vZhbxLBB$I`qG1d@^M)!(@>;sBHAJrjmEG58 z@bLP&?75Zc&{k+fy$PL>cZhF=@M3znQG+9_#5hpw`j$oxniM0Fa_cAW%zyS^h`e{e~>(1reouh-pf9w>|b3lS>>#!4@v ze#7Oh4OwUXZfqeZ1?O$g+Rglp;|yb0Wk6edjJH3^0(*V`E70*Ju=15GBVaBqyM1-I zK1n*RjxZzCAxR+BM}bj<46=Dk@@RA<`W|#03$J{&KBH@CV~@@vesRV}beI`FLTi zKy%~ic~*ZFN0K7jBPjw{0x;PCG~7L#KGjdrk5v*pK=5?8gLB4xyuCZ8YZ~q1D6p$s zy~1>xHVQ37zs}0Xc>LgtAOC~I6ADdvD8JAyv8}Hf7qw$K9bT#(ziZC>9YKuo>g zGrr426Jp!ocCXr7_1;-EF_}KA;h-Xh{gNi3EV779FtAv5>7?uC1{D>4y=y=fh`Ck} z;!}RCz}*1=&F|o4u{k`u&2mVU5IbWU2Oy3VpnwrwXL6k7R#%evW zUxCrT0$I&7HhA7Kc3a_ecYGqs1o;z+2A4b?01ah^T_$IDOHW35TB&L>$;+TJXb^M6 zSj|Jq!0rqx{IYszp0r(MKb8fjKdp3>%Vboi#j>1TaEQBVs9?$>`DsW#oQM3?}-9#m}sR% zATndzZ9IS4QnV?q>#di7BndF?>08A%j4<+*B1v4DLz6DakQTU>5Bgs}A%F-ri1qA1 zD}~!vw+Moa=jz+F?}m(fjj`6CA*Fd2n_FtGV0+7H*Qdl!XUKUdW@jI;eWCiOo3dfC zQ~oR&Cn9^R2HCZfunp5Mqx}dp`U}`_KL7~R3lRvA3(yXu96*ZXue<>y>8yC~+L3v!g=<@5} z>Y?cQ`7VNR?(~ovJ<;%xNC=RArXr_2?`ro4tgc?)Kh>@18=qYKUY~Nmai5q!sJI#t zY++dF2X(96hUrCWD%;9`mgG3?QaolYRk(q}*Eo~s2;|qD?YLGu&kuF2oPF=&{` zBA=qdu~gt^9og2mP={PI~s0BIt{2y z=72*te}||j5>%ZSPsuwH8S6BOZqW2^E?Pz-K6;qa6BJ(6H8RP;15Dv^PDk?usbDn< ziKWyysT4B?niu?+sn!dxH-=0a1Mla8{0h&@80;xjjL3mjYo z>a$R#jnQ9MM`SQ<`)_3CY;}9gox!a$$ooX3k4zw!TEL78;rmdD8$G z-)>u2HQSu5w~%O1tPdN3T?PHsRU}lZN-;}M^X663AT`gN}MJ~ZUeZ{Y!J5NdmDJnUwK(T37%*8!H#}gOT+{9 zsIRKMJZ;d5Bcp0M0yT)R4FkpqO{M(PGTj4>>R)YozL$5LvRHg4V<{I)ta><)9COlROosX3+ALH>|F|O@umjfc_w9jP{-l>wl(sA$UU?|W*&Zb(Cpr}N^AnfoafC~8WH4# zH^DM_-#TNtz@*}zIpv6KHc?MT=3gGo-=^%d^PQwjRmlZt0u$Texl4x(vz8kMxoAQM zT(}ULcS?mws5aBY6y6d?eSKD}2f#yhG%qG_Gzi^aKE!in-|OGcPOT&nlWdFW zH}dnedB~~Kk_`eMwMuuO9i)XMTgb>_)KX0|w1h=E;E5BGZPX}gWy*m@{XXDc%Cj;J zt*DM8oxh9@jdY{TtzRXP$MiIB`@!OH4XsNm9} zXbMFCXskq%tYfOx`w93?<;+**3Y^ah-Dr{3(D2F-J9Y~}J`y|fD11@OtIF1<#r8s} z<5T)nY{sr3H;U$o<5?%3;p9|s`DIW640 zF=vJ#&7P^tTnt@>BQ`8UvS>Nk&0pkh$ss6#nbN|FwBHZnE|4Mi39{SnP6~9hzvgM& z7bo>i?|>7P%oq~os&|%%AS}Ib#-S-ut@>9{Q*QcxfA3g^G8M#2u#(E}w#ZzMu1X4q zh*Sm<;OKHy<2??N``16z^qmBzzJ+s(?~?b&y#4#^?d~`Pk1;gSNMvO4uM@0g&VuF2 z6+74zAAEpeJ#>o6q8EVFY$7oA=}W0{eT|oAbGV&%lSfbUgW<%XgD) zr*r@<#Rhn#PTv=J$G@OL$?)V>u@HR@J*fr4ty_^G({689-KT^V&)>Sd+MKfLV!V9Y zSJw-D&S$gt;lW=gTc1U$ZjNhl5z=$MD0&7Bqsnl2@Sypfy`r>?BK`vTuV3CR9UeXo z@1I{RzoZ=oNZ3u25Is47FNRbx3c{a!t0Mk}?BA2iM<|kx6oTNI<$Fd8O~Yc2SxNSk^TUR!fkRDdM}G#V)3B{d zIX>$eSkG3yYCJmXYAU@y-|fwGNDb6RE?=LhJ8A?zBk<{ZKffNoUeA*N%Sbd?NDEWR z3{g;~MGIIAe@SlrQ^Q^?SuDqQu3<|NjbzI*Dg9TbZQUs%(bGR=xj^inp&$Xatx{O! z_~Q=*?`~1Du9_`esmo30ux~^P)T1K-rud7(A6S|)7zb_vN{RARpk!W|Bv=yHH+&aJ zd9J-_66d@)zx@m&C(eTlE8>XmTSKvoO`3|EdpXV@G5WFpP@NJ zGL)pI2+E9W4<8H6OLYXH=q~(LG0CdtUa(|ovroqM%aN=r?mb^E2HdK2Y{}K0c8wz; zn={{``6g5AN_+kO$#?rmP4OAF;LSINb)aOy0+W*zmUNNEsj!5&ATYd-MzX~?vz+U8 zoi3267jO3DMew?g`*4<^DxWIou~Z+;3jW71M7%r|I+T|gw%by<*5GA*-srsjkE`sZ zr0&tt5l@IHr^9 z_CactjQZ$+ULy)^L=y=tjQAF;r(5D})?X43B`tb$N77E}zOWwM~b->lk z{O_Jb1BWhQWD-v38AA0>HMKlF97jU2{5?2ER2lU+X;@dURCYR)the6O2#<0t_znjt z3lW)|8Cd)E3YkQ&s!%Gq>}0R1zia8$?M7>HGqRinaIT5A;VThOWW3qRUl#|4TU`Z7GM{$rR zQ$1JSo-*CYr1I8(NaaU+?xh749jdELHzf^vu}ADRI9hcRDdH+60Sg`W7K%5>5;sJZ zUR3i?Wr6i7AQLHbx+P%k-9dPbQ?k)#%A@7}tR)iZp={2 zuEr&I{EMyx7vqV;#C5~OE6mx6Yibhr!~brY7RbaHg5v|TG#CKP1Wl6$ZN)hB(R%TU z^|OsKfznfrg^(5x3vn2F8fY%c$?cQHGesdnkL@NBj-83v)-KK7p#>0wM6u0-} zNL$BYzaok3@v6MiE)#%Bx~i!;I~O2qizE^sq6v=s|1t;YODnzCzu60J;;3K?ZKAy~KAGH$!kguYZsa+-l6nW8wEBjqzU1OU>)vS=J>a% zrs)?yNM?shhzp8Yi|mk<=$0U#k~Ugqy|5-NUDn8u%sl zW(6^eV1_S-redY-$x8zxk-)>TI?ceS>7L(Ix4QioBI2R?p(5I@pJ#8!PtGSxqXbgs z`VMPnpK>)FDUQ?bY5NZc57);}15wXsK27JH6H`ZG?`PmwB`2$L2w6G0m9J+AaMa6#wBc8WwE*tL9?4L%|);vyDu_p|LlfE`8o*qE1sjAjHq%2J`zoT3v$jm@p* z#D5jUGsGrd0pHr?^U?nY$3Qs0s3xr^bckASqeIlXMFcO689QlC(aDwlqmx5KYZ73u zHA1m#gV~<6SH8)!(sX&lLdj$y(guT8v}ez%QB9gK=4)@v@1vTu0XnLQLC9;WH(I?KeLeIw6Y#d*W##fEwYfdq~Z%v%L)NoRA6bqCK$U>U$ zCf{Z?iQ05t*pblrfbe@mhu_1*z8R1yDw0uRmwERfrG6+_= z@;%BWXS_p!yJUOTmW?QIZ5V|D*PT_nxIH;vLr-w7dmOk+79h(AX-~U#9Jr;7g!Bt( z+cDMH$85AGTGslNEK@TaIB#-XtXM0!FftRVQjXG#amLK!>B(hRiCJ-2$bDQ1wHY8G7pQ2h$4sdW+o@(P(;NZ(-COo+1 zGii@+l=e81_V_66@l!~9{LRuHw_h9&?#&s5vX=J_vF8mR0pYsEdUn%02ZVD5D~Ryr zNp6K&Z-qv!P*X@aXKV!%?p$@OE+=pNu9^Ehbk1^dl%cjoQJPt1krVBwspHB0ugwFzMOa+IZk5q#6Yh*X-=F_t>gQy4of zI+U3au!;=lj6j2Ou10M5QZlz+VmF4raBX@-CBR=AvI2uAQwg$qC>jxkXZ+Z zb7uGVs1(gzvQ)b@ZuitzX@qS(z=jNRFe%8v!03N55F}?KTBnr(zJ?Fy%Fb;=%4KSr}jX_Ifp|!SYFCK)KoX{StqAx z6(cn|Go&RuZPL>*w9ClgHa8M?+)dHqoXbPHonA?uR_u@?L{Y|DlW1y82+C=W5FhfB zCOBx%D@TaJ*N;&_H8Lq9kWthXr0}#Ty>f&oweJYY$7~)CvuQkXx5x=rX@Ve1s|lt$RVmorTH9{hOJfjdh|w##sY<8BUrZHY)cU%myoSQruH%Zuru>`kZIM^WUb zYW#9?ZCXuzS>Z1m!cMAlXuh?`PO5ztl7b-D)(r@9Z3`ugu4Iy15ag*ljt>a(aHbRl zxpsmQU2MX{IY3XHpadHr5ae92350x+oLUU|QaB4zgy@$HJ&qcFhlk%$39NK7MC)+) zG$3+~(^zPnK0|wd>KcgLFgAe5wKI9L4BMun< zkvE6F;f0*qaB+h39~%hLxbjXh@}`P({qu=p)ZqpVkBSk`qe&@794khAO)=t0z~J;9 z%+Vce#F!`EaJLT|Xu1O<%Skkpe7OP}Ecqh7q`}kM#LLuDO^TN~?MgkOtW9L-(+M(c z=CQfub7`THvAHHeQH<_U)-Ly2cA-|iSTB4f+K_Ro#^$Fz(%RU1U|NAX8bq(`k_yW^On-VfUH_^M zUjA^Kq&K2Svl+gVJDY?a)@ z*ld;9pGb14CRL|KzGkZ={-oXmq?xl}a$qELFc%ropv)mT8+&9IO&n~&wmBQ$9n;M6 zAh**Vo2hYGH^t&GA49{q8!A81DFG+SX7sv(`;yYaJELP5gJ$7E!i5EW)57a%Wt_A6yQShi`7L| z)`6c{y5FZKMr}r*z#XjEm@BA#BOxU8iWS=?FQe7lZwuh)wpat+*Q!ZX(rN_mv4+v5 z@TFt0rNEjMOM&eW_;wA)Z>uV?#nzSpxke7QHtRKvVr#ReOL}6P@BnMZ*kx-}%T{k| zTI&i|vpz?PE&w&m%nWWlc{yOe!$X?zfE)L+}JUdK)Mc_V^e_wh<2>a!C+$y zxnudE7&|S~Bf`_{%Qu~NOcI@5-b_!6$u9KBd5i0}!XG({oSC-1V`b}q{`gu-ssW

    i^G!^yAb#(k58dF!krMqK^-jqEodYCe!mD09{swU*rq$g#qwLS zF*vbp)N>ojQP1mG=uLH{kralkOQ)xHbv-3am=kU`$$+OqI5f$Cry_!^$|M7x3gBpx z0q|3SCK)7t3bD=kslrbsG0C7dPx9Tv%O@Wd0LzTpZkGLT36J2wY?_%gk3iuO9GLXf zZK^9x5{XE136bO^U!CPdmgA(D&9cOEAqARciRVHBnq`USLP|8tIDo}Tg=SgeBP528 zIGNwYM~F1UEK7UvEX!p^T{p}Aw`8_*YTJ39b{L7maS4Uvl-N{PS`!M$y3(mZWQ5AI ztkQ@nHJfFe5XvcqW?A96P#Vp$!gHYvnq`HLb7j#iYkY>N)aJBJG(JN#BW79igJ)SS zPg$Mi_8iY=_NeVU-tk;Ju`bioYCyOZ>UYu6l8=#5nQ@+E5PcXl`QfE{sp&6=lWP2O zSnlb|1j@}phk;y%6un!rGd*WEH-Eu~u1hhPI*o&xS#`8oH?c4!C}(`7}U#9&CWW4~7{GsuqUB4uthWjIq! z8O{=ywPi(qw_;4}7vIk@qt4>n+D5r5LAacibp6#-;;dRPlCC0xEUpyEA2N;J=%QQD z+58EM9>(j!<_bKGx^2;S)+`X2_~0S!Epw0huj%KtxQH##6`8t z+Pn0j(ID-#=_S=sYA-8kgR2A!t$7F>Lh}SMI_ao}jkfCKQg+b|R-QQ%)yxFEbA|xU z`*&Jfwt>;c&RG`Sk%KFia0a>oF|_pBO5j_?+ff=KNUH+*(e={p=iUAF!~OM#-OZ=; z>o?=1g5Y+aOhKbu!<$$zV4YyV-Kt=~_X;v%MH*>{H3lx8$EVj_bn_wx9^bUGxQ%Uu z2T?{r?HvWZG71Wh0yq6AtR#GN4!Z&UtJxdp9N`D_FSLu(5q?0IuxhRbD%e=IFf2ck$I+pg{$qtLh|O)oX-_ z$&^x^MRuPrP+fIO&!bP5q9Yj*HtmE*6iAA;!g>Vq64!BlV51 z;)`?Nl&##x>Y*g2o0BU6m*4 zs+y9SE(P>KY^J`(x6qj`?;GO!iX1Hsj&}KJy4%Ip-7fHM7sPHCC)w@r_T3Jr-0kRA zWtTWm{=1J)?{7X11|FIFLZts@ElPbR+C4ulO?td}eE;-g?OC~!fwD*~MR#}CkDq^d zzr6pr`%7ML;*ya9f(L2jbxZ_#kaK3*S4wLRFkDM~62Nc|A5MDTT7yHKx&@B;Z>;0d zm#5TDf^jE-J-(A}?f6J)9cS{OfcU(^4n%b%iy#`)JSQ0c8-Bb^LkWE#C^ zDW_M;xvm`6w*8B=w(SwY*h3e~CKuiE$LJ^b@3c-d&J@9q=^KF&$4fche+$}gsWIKQ zf2aEvObVG?NKOjng@GX={__{<3%P*q3aC^d53@4FXJk>^mjV{oAYH1V6mZ=qY${+H z-QE{N3jEzqkJWFl8SyLznHXCcV;5zuC}`@foUx1k6*c{?CHV^)+i>Dq$kR;aXAZA4 zR-EN;!i?kJ&5s8_w|^xgx|jb;q6K+*XhpU_b}i6k3-UtL2-xk5S7i6{mnGU~>dMfL zXkQi{s06{`71TaM0lfXo`8kGo`xhFFw+CDdAaDOtZKJ_3@7TujkQ_tPjiI5S-u~tM zd<1*@mzvMml>*=9nKq8-W=4E-W=F`kf2V%IwxDm{qKouielCbn$R~gWY80%%qhKXD z3N{}!7NfuY3nTn{`IW$b`+{Xy%jI{$x1wEpdgqtY z;mzlyG*Pap!1<*-75ML~$lp)@NY+n8QW=ixXYo$iB8uudr64SF3!vz4>_ayu4yoiv+H3 zZO0GRcdtm>is?ocJK$nX$suXnSbh3#nYJEC5_V;SB;j1lHjJ=@cvv=!aNTwiQNi;W z5n>5odzTGm?MknfWwU>njsZmYYTo5mh!xv|!M<5$_n2gsA}i1d)D<{avj*yh|Y;t01jhyat*y7Ag*^vrus` z#O)&;SNSXeJ1Wf_s$R^&jb?#zl8pJ7{0sGEi6VgfFkGbO=K=y3kUSO01Bc_+IFA8r z{>x~BC9F>H_q(5#iQ)%MZ+a(Bu9TZ6Myl?B^kEJ89;B$R!z)PKkQAGze>p$5D2^a) z{KnqGtC92bM_eKgt71em%K=UC1BG``I~8To;wlTd!LS)DLN*m|_Cqyj2Gu{62yrvH z1dF2kGNzH^4N`lp(!1MFO z@}>*u;X#PbtqLZ|wl;rFd@Gk*7L3!t9JfM&v3UxDiSoy%rm|?$;ih~Kx{-=dRe=~kk(IThp6$OI)>I7R1+67zHNe4tA{U{}3@E~(H+BS_8P#-@v16&`U2X-?tzf;e1NIvSR*>inx~f!f z?2xB0c7$^*Z5~l5mw6K{%A0@>#`pJU1*6aSF~*K+auM9Nty?p8#7z*AR4?n_jQb;P zoV+oD&2`VJRDGyesOiB2z&&i|<Zy1EzN3ACoLrH;Rb_2A|H`mIbD@mmzkyRn!)_{Bi(6yxzXJtB1<>@p-~xpIE|zk z?QNf;cX{J=bJ3U?^ENk*&GoHXMtMlp=ev+fxrkD_FGREorqxT&L)d?B4_XnSot z9i1H2(vfrAb0IWwY?k#ER~l~`l4(rxJ0#wwxI8EYN2!6+KII#-9c>*3hKsNjecJl7 z$J^1ka$WT5*+Jy#%F^?XwDw7R+(nR*F36~-sw@TbmLL2v|>OtuL3G7t15E)QB?x1n(ZPD zqB4t9O8K^@V@icu6BF{&;Y)m7!%aBM3!)^uIe0I=`uO4MzyEK)|IH6HlU*pQ6;(f+{>`aQ;`M2` zLasDnQGY5bP53K9sH!+&wQGt5U1d6VFBO%TIU|fzmhtyers&v}?c}3m_g6M|P#Y=G zr%s(-O4%tpwghlsv=0xL5mskehI2?&QGdHKq!U`LOzSiavrxr$a=FN>a`appau}q( z2Qt(syX%zg`YBu2q`wb80MB0=-EA{&WWbM~-cErZCrUF;TH#)C8o$$g*U9tJ;Dh4R z-~-u6lvBs#!SAURp9eqg-;s&%mkZ4ed8PW~O!y!QcQDm);rAqS2yE#iS9fF`ZpdOy~K#=(@YeR6vS@x02$=fy1o$VAitYgJ!ehLsqmnJUT6Y+?R_M%w37` z!7LNwL)MFUjt`x_G`e=x#lVXJ^uyfv8}Dw8H|k>gl;09>Ll<>iyqSt7j_r7}`RjQd z++*&SkGWrqv{im*q^yq64ZZPvnW35Z(gfq>{M0WnNOGde~o@Me zmfYnB0;0?N3a?)%E$-h%wcNL-EHpRdmE!3FV#!dbCsQ}SCnO+hDb@r;EoDP7b+mmC zDW-0+P30l7rjJcNz4bYt@9RAFnoq`~DK17U)>}d= zN$utgt_%lUnJyUu;|fmX%Cs6XPeV3slRfhRn^C&!>w|XS?rL*ddq8!b8o%>^Dgn{w z18S8|TCFLcv|^M`af+U{utjSMK~um@hbFCzu8QEeG@xecw6;s8PHR&wyLElmbAg^Xu%X0NtqJbA!gXyr4z%e= z+H|e`uHA$6-SZu@q>-mus&xm}Mr<-m8V1bLd>c#0eA6d;;euZ>qWiQOED^eXeO!n( zl^?t|+!JebIp<=uDn$d*9Obr{?lR1kdg5T};0K?n+zz#Yl}?^I;YugE-B#2o2z2tl z(iv*oq$tof-Cc6q*H*RdGPS$rZd*0Dyp*c*0_~ym9dwhy{ z*>B&)xS%)nU-U`8sl4mpyGOOlIB{Fp|`aj{K$EnNvgarfq|{Z-Db_~YT1`XbrVAu-htHA0b0$|Y{YAL{TPA6<4M{WBgJ58 zt+~jQK+UwmXsu!+XUv=+tquq_J$-(D477%n($;F0?h9(} z@+{d1o1$04PLO?0gpYcd0pTlanAJi`xO!pp3y{`jl;qwMRZJh{JyEiKHUfeN;HL=e zcT;5H@=dw^*LO;a`s>$Mx1lq6n_FYK&x?_6dK%((4{m(u?pA3$RK_1ENGz zPY09#jc<>+sQE{_ERz+gSBKikg4(GN!1%PPj<)HTkT0@uL+O~UGlRvo;WM_+d1aj$TrfK)zpBXI)R)*@ z>wG_xYuH`OMe5jSms+s9wl2)t5WC6~V8QMhnQmNnV3}+?CQFEktYI-iTg$lu7}*Ba z*~ygDs7o~WLUS@UBpp7?B#e2^)b zU3ocVD~VX<1QL$5E%O^&qZg({FfDl{Ze=B|T?uy=8f<3T)0@@o#{9D7S5z@cDW_{v zIFITft$+@6Ynt%=ZP?s8T?ADRzIpr*zOG`H?o>EeNwUiuE+n_&LJj3XmDHbApBoCv zHKu<$BG1{EBruloa5fZ}TfnUAA@}8gVkGibxSvrU~ss{k_NqT7Zzb3a45WEb1{GLnI{FB>e#~UbBFsR+ zLr=>0LbG$Q?!6))mcJ%lxU5d+&f3R}}92er}bix(3OSE_TNc(}j0 zjIexLU#&d1+APuN-fmtE`ZMp6VKfeA7V|p}wde|FT>``LmM%auv>Za|5Dl{#b=N=dEe7Y@ysDXu-t1 zdPIEY3Lf1Gh`g|w=Zx~*3XqFXFq9J5XwgO}m>4t>IFDCO4*NoYGFLLM1r*SMMou_7xM0ZD` zSw)7SOlGrvu+Btmx;m+|X|VVnnOI0_SOjmjo^@`wrYhes+qiZ-3b{WoHd2yz!|J(H z$%inQdUYIcQdEcKHm7IYLUwMF05jrnk*I5eL?>wF$x3OUPj&H40Mwk8V?uavfn zJfBf-QRn%bEj@eQ3xf7CLdQKElM#t-fHkl1h_tGVyv4ncHdWrG##JG$ub^O(6L^@D zday!TS4F|Np^!#FYR2(TyK(K)ZX8p^(KxwT*2*}=ipz`pOt0#^rNkT2vn+OUw8V)B zmZP;oQ9I*QVN+`HfTh&S?)xe+HNx><&Fy}n5EjKp-U`={7`sthFn^x3(tK?}OSJ_p zS6k4g9OMOPxl{Nhl{8-f(8@fYUI1O0h^%bss+Bu+B^fBof1Yjvrz*D6_CW7cs}jpE zf&XgW6kG!BDxlk%t5%7f0$U!y7G1R}w=?K!mF%EaJKwx~mWt2urbtqnSiKf(RkB1| z3JA%obd8l(%&dzoP;TIhuXZ#q0h&4G%rAvyQ2WNoV6|MrTit}@SVeQv9n^9Ob~UG} z)~V%K%sbyxVt>XK^SYP0evS>4I`HgTH8 zbf>v=lW|;Q71JXJL96qpc)Pc4%hiRynE*|zVe?V48poTr-0vi2RlAygS+`NJ9tBy> zEY*D^IXPs8r?vRbb3_~cWnfa~AfUjmynMO5y16+-={Ons$X#f}#$A7TIXtH)BQiCg zAD#|ZH}9{aUGUA=W}cUfCo2$m|DtKi=0H3DqBwA*K(J~LL)d#RbPfvPgGV_iOcqQ{ z$^t+8x-M+pf|{X)#z%scU3~oXT(>ShUcg>kt;XKPM`yPQZ#f&fV_bZ!w<|6_MvPp1 zj9$3-Xc7+{a%kzyii?jIV)qb7Lz=*9hch4JTTJ&tuDbX*x9Q^J{J_OWL*DO`r77zN z?jgRFrfgqJ%leTtWxe?tEctT!%}}+RB1l4$t$N- zb;PBMkFK0|ycxOp=<0LQT=2L-Esxvf(b9|sNTA;8_LKxy~F1+cLu2Iz|KGdt+ zZu&LDc+HkwvsqoUW7lj}*X-Lh+qC99XIl-*E1f!c>cA)Vh!?)bY_IzRi^|6V@R~g^ zy?S7pJutm`V7fgpoeoUrcGCe5sY9c5^tv!plU^!Npuj-Bd-xo%I^cGlT)A$){Srvg z)Q+65mJykD2xdEM^u#E>T3&KVZ>(#%Qa?$t4GZt3IK@}Xld$CZ8d;ul0QyPNZGE-k znA6^Wa&F6>leoeH$kvSxN4{FxZun{$HS*Om*$>)_m6f#qxL&OLYH1kxYH7dl)iRma z_8j_8*M#xavfd4Rwd~OPZe8W8Wr$&RVqKGB!8K-BCs<8Nn17Iky53jI38q|u z6S^}-I$>6PwVWLKYB|;WY8g9}gDh~qT80=^x1n~)JEW*T9}G@v7bh8yCMSE3CMR+1 zt7SZ+ue6r&)iRmkRb7SQ>23iva`Yz-sp*eX{Ml2AIHwpF5~q3>5~uWvua<#r&~n!d zn_-u)y5+BHN*!r_9QEf}CepY##bmH?N$=t$v@rXjua?1Wh*QT5FC2%oiccj@x*<0` z@0G^I#phj9qhu})z1&WBbxd7)haF{mcABeY8pkzj^67r=5{7Qn>F&-*0QuP z`?*+XzFJmpkyUmOotL)9kr2(_JSwr|G~>eLbnn9CwBPX6vg#PHXiSC*Rw#-_ z_S9SBk28EC3XRk*89+_%wBn51^3}5X7)bLV0@ZLih@I)^r>PP=vs?7FX(HOFi~8j`_x$I+WX^r6XsLq~7ogO;JjHF{&aXUv&dr{c&F!ddn$ zv)x%)HKI3GZqXYe(X>5Q@7o@N(DLVQbGv1HwVdtUxt+C)ua?szwXyXJUoGoaeYM&V z>8GqgGp8z)99mZFj8oQPr$g5!H`xTH?hplsOyE^w4*le;E@+Z1% zvUW=2lYO-;*rl(Qg_2Fy79Zw4zFK)&zx36bh)?m=vH$~?h%~c+T?b%!CP2ROcGF#=rVs|9SDl#m&2iu8S)xKJBM5DdNHvh7n$~ugEwJb8Fb}g1f zu@-lVjk*6owMy1{)?kqwl`R!#ccSBXlf}Ve%Pojy5Y$w9apY=(>2S6bId@JpB*rRkl9oTnF?{T?tW8$LmTQwR5Us=dc6X z?^LVON%C=lj^YBHUpS~aUt9#7ZynU!MlfFy*zy2ATPH>HInSZ1w>{K5-#nSY;&r8- z?t;f9*scP*by0KB_&`m#FkcU9-@q4H{hO8mP44q)*XLzW`^L%W>fdzQV467-59Ww} zbg*zyoBGf^P^}Y)@Pg}J{-lV6CTP@w8~AEDvn4myeTj}vENA^FL5cEo0BesDbaK8+ zoTj5Bj1IXFTsK!}DvuJ5YHo({)I|;CP1(ttO!Tcowf!jJiqJjq)pEA?)p8p)3f46w zyZNZrS1Wp}oaw9Oh58Dr;6~Kd9anr)=!j!uH-xqnsdKxD$P~YEP5!!5y9^ z13NSA%cL#7is5hWLbXQu^d3+e3jJU-vo>ohI7_mjT9?WSc{XVFhe`sb&^$Bg623)+*O-cNe^=hjKmnB}S%9?F}d z_3@M1oXK_UqkSW1I`*dX>M<^@C+||cjCT)*ADcOda7-HX){De6iO0QZakq?=d3^zb zsz>yIE$g#OHx(;S&BW|2Q_4DiqTgL67hmkRnTgp~mXZ6r@W4jZl$Z5yhY!yY+0~mj zRR_X+Yq#?0ddq7#;!r-lmbb5w(%xIYl}pxJ7%a^Xmj7%UD)i*w>t zYO#4I7y8%#`b5HzZ{p0zWhx2}NzYpDRuxzl%Z^;dqIfTdclQrb;pPq77}M;339WXz zZglrr)-W{C6QrkZ`LA>>aesn*>=NYTYJz;^66E7Xf_$tJLAm;;m(-oL{X+t%^qTZQq7+K{>Q&u{^idhWG`KM)N9-vtm$0;9G zF29oP#pCbR`>??;AD-X6JO?SRaw6mUOzA_FhZd}SI|(jN2CfLoKW9{^X=!0~rbIs6 z$DR()k01Ve2&;nPv+QxLOr0m`pZ12YYT-%h_R#4_JybcaJ*ZtD%Py;YO?FQ*ya!YK zKFd)-@=}G?2^Fg2iU>N_^_vRMH$Ts3629?fAO{9q5Px^^&ENeWPk;Aqrh}aU)<+5cSNSq_!vAy;Gx6?(fA12T zLYfutI2RG$W!UmwFr+vRrgphBdikhb zSIQf{ownRtZYvD86?PR$LUKG~FQ_%|MV7B8n)k1{SZp=;+d_Nu@?G=%7RtLtMfg=^ z$i7>CNx$-!N{_q;enBhaSJ%&=qMq(z{UkcW{D7-yDa>~ZCJH1+JS~6sGWm3?R~?GI zERfxHmD6$(0~6@to0ink-hp4gKhZ>23UbvX+t54lcF%Y75BbB(2M(r#XtuGO68MXr zT;~_9=qmqSee+9P)jw2wg!w3PYZ_H`f}SP7bs_`x!^NopJlV)S>RmIbmhWZ)=Bl}g zHlf)y_oS}eJ2&y;Xm`zR#1V6o%!_W<-1#s(Q>@lwTPN4!R{h5C|I0uAxBu~*U;pLu z_uv21AOF{1{(SlUAO2}ru+bw^u+d}hQ|_z!LURS}%fP=z4Q2TE!;j&nnnC+i$4~{C z{LNroLKY}#$Oe!FVE*ur38>3I{pQzy{L>GA9>N7eF5!Yj(lV$5DBJZt|8#h{c^?*N zj|8j?%#cMi`}nyqJ5h`HD=&-_3Y85alG9d8%6SB$PpuD8olen9Fqh$Jnss(Vf?jVu zH)?9Fv$o6(B~bnj5GyvgbOvenzyINfKVAOzcfbG3Z~k;qK9si}M)FGf%1A~5f&Jnk zt&zZ!Osd`~KYM$uQVdS*>gnV3u(~5pHIMs_D>OfMBAtI*Vm_R9`+DsAApO34WaI6j z&6GPOVrAct6qaG9FbJvf z)QsFTi?CBr;+2ZnLtCE$((L{Ht@2|sRofN7TCsN(*nv0vFd|8c^NjP@x=Vsuebs?- zpX9Suylo9+Yg+>*oTk&{fzsn*?@(zhfnsW4in;0E&-khK(|)kTz8~~NHpbzQ$PbEf zsRLEY9D^22vG;k79J>ixHtKj#v!xDno<$8lQx$s$tyenHMb~Df6TK|j*3Jc>Ray?c z9@@3-Hnr2HY2UWH)ZQqVK>J9l1K1`i1Y9df z3|w_gSXRdb)I6R-n^FakyVs~UYr#WbKfKhd)93(|nf#Kv& zFs=Lv1_tk^@A_f?enwqNem^ba3JIpi3f~ z|K?7Ft=6t|B80Q;`)GAq4sD8U-$$F?N1ImyZM#qHO}139u=D*i`>?`o(X%X~PlneK zJ#(DP9oW|84vKlSre}_h-KmzIMSD=DXHGBanN#J?lu{>Ohn}^iQW8CLrdmLI{>h&i z+PY3qC1n~>BYWn_g&AIto|*dJa0ESb8}y7k5W)G~^h~kz46Cb@?;~*Z%yo3i;eeiX ze8y}`s_9vD+|KmOGqn-GmlWFI6-UpeISM^1S+Hc9^&$6JHWIr&R1y-KxKz-M@{ZBNP^-&ioAvK6hWl>ZYt&lW_l?ev8M$W0$ zl7Gt!ag1N;^raDGMXsEJ3t2G#^LnLr%klf>fsJ{#G_*94vQ0hgu!RFfRc8=_VdWT| zi4YFnID}>@6kVz|h(;gQUKd%iID<@2Y*&A0VtHJ6H<j69=*9Aec)|$1tH)J3MtfFK}C!#df9dP^_>5fa^ z@OzlDc_T$?pj?z#MOj|5>01Rn8iOostzHQ?QnDi@3a4~_$fsmSO398&F`J=^wh5K) zfStKTRQU^L0jw$^aMN53umy{%S|Rg=d3c<$!;bK1O6V6ln8g*#Ep*Wocgm_d<;n0+ zQ=-^NH%)Qnzv7VgG=QT-lxq`PYXhVq<*sYNtbhhzx(0)zmP=}jbEO=apm;8 zpc70*fRKVt&>)lNblSKg8>1EM-gVd5F2Z!t;3;`d!}n-P#RV22=@@Y?1XMjV)558d zOD`CQw5zuKC-N+9(e7DNLp!U>F*9Yhdrp#m5ls`df>m7Ue4Xzft{*=?+{XLfBiPen zc1P2~6EfAk37<+1gS8XHJtycEF-B*VUCkR}yHT z>*`8i)cX->be6dt^C;@U@~U+L--W&lE3)7i!D$X+3}1aZ++E(^O^JomuivswH;VJ((v zv6pA5jHatyu(A4gXVP0gsQ&kSTDfp+COL(l^L~p`CRGDn!HOPuzrLY$*inx78b$jd zm7~DPhk^+(MVMS#-sKCiNV|dKK+UZPPDJi{0ruVk$dx9>s0G`I;Ka(uByP<0eoq(g^QVYv;qN5It2t_a4ZzR^7U>Gq z6o@b1G2UUZ|IV1Z`f&4laHvj8>rsM@EuDt4v88du`7ya+7CGE1NnO}%CDYLA9S?uE zsn+8_Uegy^I&b5-Z!&y^KbFR(IHtBpg}<2$^>Gn(hWhE3=I+JGFVgtx?!|6ZaM4rB zGk1H4IrOz{+wQ_v$BHnaA>eOwQ!@es7x9lNp=jnkri;<$4?yf4MZ-x8KF}RgIz3FG z2chRIs#IKOtB(ymmf;!ytW$W$zcegyxYIXRFP9O#W!AW)$;r=I{4{-mi$shcruJpb zXdFZgPxyBu*+=j%(!lz}gy`wQ`w8n@_v_vLhY#UrPbZaneMcX2i`QTRfiEdBPmx|e zi8LpDBTve+zS!n?4E@?_S8?C~WyGW!ZY zFQcYL-R<^VDJ+hn9*nwh8ds@M!rxp#Z5&MPZV}8K2Qdh)+;&{Mu8OYgM~r?7!Vk56 zr^pPR_Y-(f=}MLIByD>}0KshqGFzd=j<|NM>=}DOt(jKH6XM$Auv4PV0~J||YY&ip zxA>BRSN>Azk@r9?=;c&xZFQv;^^_OuC$SmVKEG5Ah52srENjOQPb1j7rwQGST)pb1 zV#vFsdv!RuR@lU~2U16SXVh_V?S*91w^!oYtMBF?@`sm?oRJqjp)RL1Irg_O{Z7^i)wi8c+_ACe z@w7K%&zTR>@5_hK%GXHY7xt*Bm@&^gvNDCP}!4@_;aWa|Mwry*oi6?d@wma$A6Wg|JYhq1ovt!$H z`<(M#{J1~*>E2zdYFDkNd+*w7z3;oc79(<77(9)GW)0{ZAmfvM7a4FoEmSU&l`QVR z6ph&EJ(#pM*SSS%Q!>rD~(;wo42x#Xw%RoQ|_t~5w^90b}IybO@`!BX>eXd&n# zLdbH`YUAQ~DxLK)Kjz)TLZO-9 zvoAwM^@%1yO6_jjc?W!3!(eSpmREN_;I>d%lJ1|v~F7k*6xCsqm) z)j<|=D9ZrKPm`d}l&wGB-*YA>8rSN_v+G<%B+cTlj=uPpnj&GGrj2^IwcWL@ZRnF6 zWOu3acprEVc19B0WxO>J(bqQbi-W|)4LXH+)P!w+rWh6d#G$B=YKX!#r?QZ-v?mdw z`#WAp!)FtU87ZxF3mb*-iO*7O$olW?H7p6`DGC0c=@D~`B!_q$ zTbvJ;Ih4K!R>k=>R=jxsgYk06f{*}qut=U8V+7P!1$vF$+FdQo7A;mtC~QTsh?Jfk z`Cq2{a712qJKal;JJXx0_Zko9t)qFXp}|0P3itSv+-JJHY_@n z8(86HX+Ie0fwe`LQDd@G)C|N85w^QSUwHm;NEs{4$mZmXX%LVVuQ`Xtsi2goY^s%j zYKs@3=8Kc;R+I_lrgC<-qZp1ji>TF9*o~x}7`a%i;-f;^zG1R6{3ueP@2mN;jzv3G zEs9pJtbpo!Zjkjc@XNDZxcFOE#rtLiD|nzGh?waUs~iO=+pN~yoKs5Wr|!%Ubn9I&n}qYe#iDu+UQHP14K zv@`ycUPIZ4C-eI)fp>p)&3HXfK=aRH>Zs*9=%rtr0Iok8TBa}lxQ$rPrXc}J)SdlS zmr1U!<5Dh3wA^zF90>x^OY0)<)x5H%$IJxXUDEMV2f%?UfBW+K^RM!)kRvtz$K6(| zQg}!x!PxkQOGlMN{g=l#EfjE`ITPVR*08aS z>Df6u7_}ekKL&6gHeCjo-dNWzjjHI)u#1hr*UuSf;UNgu9o1(7oB$;!HKOODB8*y$ zXH4^iiFvnztRB^i-8GlCm>LHeOVxh!!)S&I{pqO};Fqtj2Z)}N+{EGZL zdh^?5emb^d^q=ar7yHFgzrgEC+MjYes(M;$()@1QLNqd7blKK*qZ39uiFmNWc+}Tp zrc~m|OJ?4I23LGy4%jrui!wCF;T`T1_ADNOV>0nNFv1EH_){ybuK0U#=hNguE;yvr z{$tXie=pLci;4f-RuG2dNwpuxf5CLqv~V2<_-i^a1@xMT9Kh^Y{xv2?=`0_qV7%+Af*Qhd(r(-@Ms{ zJI^aM(Z2j_h5S;%1@Q%m;!B4^$da z&PQ@|DxZpui1&VTIB((tY;O2RM-;9jp_krBUSpm`Z<_Z`Z~z=kCX&!wt(r=|f2P`_ zpX=!VQLsTi>pG~ORh7qTpJlo#v*i1>d&4$UR@phArggerlV{os+CerPGQ*i0` zl%?jD+bhg)kCDG~J#($0HZLrAs#pLa{IfUFUQ~Ndg%s1H0n&4=v#P~FI%S=g>oIuI z^NdTGo11gLG16coPp>23thPtxm%dgjXc?D7}9dt>#M$8b5Y{-=&!Js@y7- z{neFmt-?#tiFk#4nRnAoT!=|(2b8#>C}TFx7nKe~tUPP+n#*q+dtJq%7>{W+GsZ79 zC-(}Fd1e2^eJSeNbtqomtZvdjPv$9HsSFpfF|IYiffcr zh(w`Qqu-T5g;Ko6u+7^$PnC08envlZ$sXajn$G-Qq+fj{rKbxUn;5nq_h=Z`N$_%y zH&hXEdF~?6Y^ovJs>)yw)A3NFtOH;mRhF=t-ls`VcW%P+Fpq=9A;sM%FN~g&{yvA)R$L+g5M{-yY3`-N z;mg+cusnK&)wBD*_xH=gn}G{~i~7&!2leN%c)msW6bnuYo_s6#OX5At%(L^fn?f9` z5`1n|^_z^Px7*K?nii^7cU?_ zBoh=?>l$f_=s1JnI%`ywWLL*$MUy5`BmKYG#69G6$OE*?J4$LP~&Af-7U&O zW>GiI6f1GTNK1y56NXH~-wfv)g6$58ls0|esCMQSYVgq&&>fbT>m;Tp8=7s+Y+@9P2{v2g%@+^ZJDcE3s4!UT z8xptyU*XNEkS__5o} zQ{P4SU<^rEQl${htt+?L!NrgZ|L(QI0eK9Bloz0Pf33c~>LkS!+^|(Cq9ALHmJ8EA_ zwk91wieR-)cF@xMDu#hgHSTEBIoW(f&^hR)RNVbLJ;oJk(?+tP2~nsE4bBvlC>>libNb;pS(q&JATWAwg*ZlO{t)<30|4f zHTc85nYX;7SF>XE=@Yj7tc4&|9m{#5m|3XG0B&nUfCI`j&lNSfyWbPlx$5D!`osoO znfev<#R^X6oSI_Tt*VB-LNOPEVM6Ke-~8@=JTHaZXl3ewZ!8@4@R|k4kN-{WkJtXh zggP&OyIhEeOERwygu?U^t;U6vZR#h2vLcqq(;53dKPz3igz(K{3gc3X+ar})SeCW9H;TMW{c0e#nd{+9s5^x&R;=g zDM}X8b&`eu$?;pvlv?{hJ6Lk)|4BTd&mRe(sGi2OX)b?g2SeTRymhy$1Y7O&n!hg# zt0-2sX7U7m{>?nVgYc3az5C?_%N057dE0h`yEQj7^NlI!C%;7Hb{IM)na}uR>ZPI% zyy)UNbDF@cndz=8ayB(XB!Blyo+k%p-67QRU$`$>9#Es6U)t1GM=TXpE(;7bM90mR zA}NurG=8!VbHje41j|fL`J)NN%Wk1ArgRkxCue_4eaT;{p^7$ckWy%(DVELnyoZVj zQ`29us+qk5%kyU!!C~CrqE);!ycirzNr=FV7@^lvtdwdtNf*GR?u&p^T$_Bd!)RRf zv;CY~Cj79zcr?XOG{$DSwS9%7-RaO|s*5BE!GntBY)?nUQes!crHhLIg#z9*&*pEn ziq@-j8;857ZK&DJcUiv^ig(F>E<@AVp#2SZ2p~4qT5t^+I&oM&!#dw#nn_gN1)bat zC=~xL1N2FK?YwIzHDsZ1+~{Nji54S@nt4onit9*9ZS5LJM0#Qw(=Jqmm4IvZP@zR< z!8935axR8jTGJMkSH1200#>i3>N8M>`fHdUtf*T_GBPl-)Nlw@+@+vfB;mDWzcVr| z-@G&O4O<=IIVL1_PH_(O_0%3}d+dgJpEX}0+La-M-#yhAvl?8!3F;Hnu1tH8mm6@1 zPQzf(=Y1&7rqZSzN&d<`0wCsfGmE~(RJ~?rBy^Q_l?)z%$ly3#L32!4Be+Ou zMVSJaFPn|r5${cF)+lN~5F!7BXK|Q8p|JDf-FIUYN=!)anbO=+NRf5?NLV14?Er8U zLM1Q+Aa)_vE6-*^

    !+R2-C3BS$epa~D`+Yf^d)o@=WM<%kGJz>)j`P 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 id!I7G^y5NNr;0*6%N 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

    S!sM=QC&e{NU89Bmnl4T!7vRz~ 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..6a9ee1aba515966bdb8a117dc859c6f846c22c95 GIT binary patch literal 520 zcmV+j0{8tNiwFP!00002|IJfPkJB&^z4uql1*w&YKca1uc26q=2((;afy1h@TxZg{ zb?nG?vw{Q1{Q>+$ehJRUN*sED1CUcZo_X`$oAG`0QsEYEZ$G_*H}B!c<9DDR1NuN^ zW6pcpdUr$>18vd!FZ39k%^LK3tg_Z~#`2u*(5gct{V5FBB4yUjH_|Gkg>VTC{&W7mEDr#pb8Tw}fU206%%w9NS z60-yejjPTE10iJg%AIWmd{!X z+@syX3EMaogU2>(fOgW;+L@|%sO%_PcP3vJ$6Ry;>+(}k><^4v)_;3T??&6ih#`6m zu`XG$7Q86eoG+7qS4H|yPBOtrFaI)&X+VF>ptno}l?1CpYF_hNuwSp1s$5~dT9sJx z0{M;@bD4;8O{)z;gHfgl%D=|wDTg>RamZRD?daK1w*hU_Ryu_tjE3!`I$_!esfHQO zhhUx)POcW0<+)wI?*Bm4L}v>VpUu-&L#?e2=|KRe9Oh|Lo?QbY3>s|#jcfx}*YNW0 z2EI+v#q6_p5hpFF-r(l{eAPV;`Xv4)1dNc-b)5=+pRG-%iODcZhE`Ly?2*H`B|ia> Ku5Ir}-T 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 z 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%0DJw~W4V{EV`Xenafag==i1-`CoK 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

    ~B#V9+b>(ebfr}!TzV2!Pm#@ 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 z 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%0DJw~W4V{EV`Xenafag==i1-`CoK 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

    ~B#V9+b>(ebfr}!TzV2!Pm#@ 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 Jkb~d^000PH3Q+(6 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_source_length-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..03ad3e5662efaa9cc566101620ed5d00fc5bd21a GIT binary patch literal 263134 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%0ABBbAb_?phKG%?i{obaLSAO@so~{SJ9lcfy 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 z%0D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%0ABBbAb_?phKG%?i{obaLSAO@so~{SJ9lcfy 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 z%0D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 Ae*gdg literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/.perry-trace/llvm/test_json_template_capture_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..994eac28b33327dbf203ad63c254b9f30d8c30fe GIT binary patch literal 69806 zcmV(_K-9kL5;%B7TKJ*p}_nD2fWd`P6kM=-0pXYWNXcG~Bh{6+8~G8hcTMPpRYuOF{H(3|CMEGHFG!hO$;1D6_y-1vuT|C;FsUvL{|J+t(+>vWt&?e(Fsk^=*ao5Hl z+OGMqq&(^-f2O}Z^d+>J#YvVm4{24lT~c-r{~oP353djT;V%#AKm6uTEos`{B-f%p z|E6xLpGn%azhPbc4K(!SmC*iWU)D{uT&`BXIg&EHT$ARhWk1Ihd8(RgQl{iLA6}~F z={Hx}a+4=T{wpPGNJ9T-wf>F0=O4QEe=q6iP=ot$yiu5ch`V8c&q>h}bORB#fybc% z@>;7M<}$rP{J?h|K;=_TVV9>^na3~z9e7r z&rE+_ebF^N`3r+(fZ6{idTd+#*ba`dC1pj2(Y(jtj-*q@c1ntte6dyrcfb#BhaOzC zbPO)bPbbpQ@w~_I&dK$vjBoQr*%yT}yhr@-_V{nN{hO@IlDxn_^RHFX0T4E%{}=`r z{U?5O2eiys4TEdQ&rC2q2xbrIB`K*af2jJd?mKkbkKsa>PXt=%qQ&~S>%>^_ZA9U6 zvF_Uoz5%pYAH^co3C>+W6YD!xL7Jo&`pvI>mmH~rku*(mdw5COhxU>*Arpue{Hx8h zamn-{_^Sm-f zuBE0$(zfvvxwUbfq)(L8-EfRiKj+GsqC>r@^(aJfV@j3Keejct*nHy}p=ZED9DgjU z^2bY3lQ>zPQnG(ckK63DNumQ@XM9t$+x;?G?N8bE__!v?nm7B|KmGC34?p}l{_)R$ z_}%y4#((_bd;0gE{v3bvRs89X-+%Qlv_ef#mpALHMD^Xc2K<8QwE_M7iM#sB=Lk3W1JfBnsmAAk3)nf#zr z)875`{ZD`XU%oeS`}f^;yA~@~ z@}>V9fB(Dx_35jh;%`6x`TIZp^ke+-yFa^Ug9GD_Uw{1ros(~W`t*abF(yNIo1rO6 z^xZ#8;vYVJ^*!yoyP=Oi{P2-}&F{Yc^#AYy|MBBb|AL+}PR*t){)Tq)<4@oJ035#h z7Z2e#-+lGNr$2o9?x&C6#(((u!@tJAqpZH66ZP?{pT7CGPw`iDAV0Z#{x9GE6#w+& z*YUr8`m=ix{`4{aS31D>tBsA>GuK`uc&4Q=J$zWMZj^95t;5EodWzQ*T1X|niN z(o}A7MOo$LY!V)p2I=P!doB@UYK0DQ(n`x{^X!c+*@tlrJGgrT3pm#BjV5nWw%Mcgi^>xYk|s0Q&;Z!VLlP+%QRonZ?_j7jQ zib#*S`DRBMV(E1!V+QM~6v?U{E}F{^OQgm1y*RDjjnn$wIBnjI)Arps?cR;k{@pko z-i_1a`>o7(T;$P*EN|J8Y5lUrfDdl9%|j+XVN6aSQ~tA8fL#C=e(u+I6n1d+U0Z=!a9QK>he_Y zDVq8YGT|*@YBrP!jvBT|MZaEAo#X6Adrh0QPLc{P`|FW3ek}bURfA{E;aKJ`NmJr^ zGc=YpUGwov-d*CVhDmJ&#e4|~aj()|Nq4ET_;`z%eShH~DUDq7>)<lhduq9o4pyX^LF5) zAns8RbMcwn4Tw)Vqwvg5oixdnQE9wQvinq2NoV=I>(#u4gBhD2=Fn(o!A3i4&*xxM zC-iNlfK3b1(&Ij$$9+hT`;Z>@rXE|tZT>3>m<=P`yrC5zKQ@aVkvJvkrzF-+iA78o zB7PtyFuN3+z{eiknPRFVCSk1zLXehmLCS#cQAwM(0UxHOXDN3&a(x}4<-VA-ajM%7 zY7)Pt#Z6Up=5HXToZAj z&s7yRT*oZyG|c#_5E`jvbG&zwQXM>Yf;k76W@I<%El^XzoHU#}kW4y?hmV~mKd|sWGYblxLYbI)(`;s1<7tpxNbm2oaRbOUaRGXhmFDSqE#RA*A zx_a?qi{knEq5Y-lKA7$S8j32JRpW=HBrg!ml4FbDRn<3`7X@jvmN0zMw*8fU!)T%o zvLBD_OHzLTy_NpoWDThRs`<^gtqPc_Ndt!@Y0}GX^WpS!`rQ56E*xFGl50!45A~Aq z<0}0@uJOo5a;=^T(5Phc#;Vhe=P%e^*gDToxAAB*38rgO$4OCC>B9JPM_#*_ln_JH zi2u?}MmHVw&U-EiHGp1c=$5qU;VLNZlCu>kcP9!ho0Wb?n1ge1zQ7^ie=XZ(L;lALe;nX$de}TZb1~{s1IwTsa^&X^TNEuW>oal zhOiGXro!!QYLPZBw;7XX(zLWq%7z|`HHMeG>?#vn70(tHt(8{X0vppaEbgT9y-{VC=2)}<5`<2s0L_2iM%M4{V7i@sR(rQalQIYossG(_J zsIo*qe?i(dh;)TkQ&p<9iE2)5Tc>=pxtFJ<<&CRlbpN*)E@*DM5N>F$`+K;exgXxb z9o@>~d$fYz2Fv$s4&Q9_*Ju{s{OYgSJiZ(2zeP9j-P!ytyMyo6_P?TA`0nlgE4ydE z@v)#rxKtYMTZ4iyfWW;Zg=a4N<&0xbc_E&goiMAV+ysMnVFy&a{}a`WKl_c}fv)r{ zPtIiF=EEO$&F}DY@DtToR0`vL!_uEL>02^y4nxnHRlN-?eQ+++q-{yliT{A(QVjy+c zUg+f#XATx%X+03$BmT#Z3EdO9g%dIRnA<`zq3DAtP8tP!-S*NPtEvcWMl;u2H@_s} zvph~3$_!h>rQfUDi+{=n0z7Ziw{+so!f zu?F}qM{=T9wroh|d%xXY=I+$GoADxxU(rO7*CqB(6{lisE$Yy;XI`@ z8cH~RypV;da!|g*y)3Rz5K|C3j4+yolfZrYy$8sAiXw~R?ISE}it8@hnc zmI3XgD()r==^OL9fx{3>a0;hjv+UceC-6_jA;U&^3YbTIi=41~>2%j#>e=BP{(`tg$)5+q>X zhVaHksPS1W0sFCN0|tJOf%YCP3oVU{s>LgPj-?y2d%{i{!zK#(-hx2b<=)z`hyr+r zi5Lem7{M(c+I>l2hG_3Gp}-&$HCBsO$(R{>5r}s;rtg%ZX5Ol(waBsFouM>9)n5p- z_HJ1f7r0|3Y2b!c$*PuF6z1&NO*-0u9!8tEYs4_zTP~8IB zX$YK9cQjR%fg)QcPRU!yPp3CfHw4_P!K`}6unTZ=E5XsN>dWp92IQJ|cj&nM;^|S7 zTzaT@GjJPhRV?=agX9G$Q`Ipqlg7F7#3PKwa6gN=sBF>lnr%GG+%Gx;G<^fK1Jy@X zAJg%T)MlIqRF6UpZ=sfFP>ECCKaGy&q_aQgDRT@Tt}2V$K;S!r1kN#$6QFYPv91@NOxVG@>Qk z8N-W~r4Ul$$I@%&m4M^4pGp}N6@n1FNB<9rI^Mm7&Bodfqc33a5Gz zp>NIzVl7C{hZI?Kbk?}eFhad0N2VJ=`J5Cv3z<%^K zA9y7v&5b%$Wk**Ch9N+u5OO2aOVW(tSMI1)9$SiW?U@oluoB7qr>aT@(aNTL6tfsI z6W%_SNdhtPC=Y$)FT65SkP@rp^JBV|%G6+<=z0AB=2uYAHE5-tMyw4vQYQ2)gvR|q zKVJY2E_6XYlQ*+!$ROB|{EU;@lAs%cMkwNgtmZIRq&i(sd~-OQNjS10HAyD)`5wZ_=J=&giq;<^3Qi96pB+G%&_ZxTZe+n1>4Q5@n$aX#{)+aO0=E*X zI2Zvh*9-*9KDM*L$eazU?Zi6>#+u zWfN1m9>9E-OjKs^(?y1C4i14s6SuO4`q}!OS-(sD& zG2JZg4O}p$6l`m_5-%)K$O4#`rwWJ6$gxK<<-X)7C`%$}LMrpscX<)Bs*oK9W6m?^ zB&2(xCMoLRXLvRjbdK=^`OLuQ>dl2TdDr3zz!96&GLn`Fcr-B()$wx&pQLN5f}NO2 z3K!RfpY~P|mR=!bhcZ$gQVyqK4*3DGWZZjcObB5|O3NY!n-RJK)43${_a`~hol7!w z|2ulZwI}Xq%8BK?7o=GP(LsKZ;X6BKETI>8^)_mRGUZ+xG(G1Y$I1{6^5WIkIRO}5 zNK*Q^^WjnrpV@4O7=A>`GM& zb}ywu6+h=8Uy!B33nSt8JFc{&iF*3&4xvPM(nPy^dKXSbiCEIm;HJWy99JH9amUGG>RVt*KD6#=EMNi;? zrZc4AxPvxST#GcCOtlT5;s^j`Ysr7TRbCiZ6+8t6pTd#Bc=P|RPxg><(;H*Oco)NB=hN=>;dB-B3nGF{SHHp*N z6}K}6m6>7u?kYmda>u=BPR>ea;9$lJ_h1MXqfB42h5c8mmp{8_sm?PGz>DZ>@S=9~ zLS&$Fa}l7{jk?m60_8ne4g~WpCO^aVAYp1*T=Gmph&?#c^g(|W;91~su~hXm7F^FRop~GPoAzI zSrD0UYK6ZnoYBWzBGO3*U%0gHg;Ye)B+p4+u!D@tQ@6}z1*IBR^&W*6<$S2F1y!J+ z8P5U2o(~N~h> z!By!_Q=@KF=~IoPs0QCXAF>8Fg))@Cq=I$=NttiABMF+eh57M^{DM=8n8gQb&&o5J zrY||RCBO8{o;1&A1;V6bzB2kns&qN06r1M{HM1VlxvOJw|z%l$_ zXrcAqwM@LMcuplznoph5C95ktMi+kY36k-FcNslySyKNy8e}|1MGn#G2sW6^T!h0-A-tDE z%4nu;`$b?0WeMo*_zAbo+K$SOg%48oofktI%SA}U1oLe1u#=SVN~3j6!l7&46LJC% z5=s-=8j?dUaILV)8W?C_Hspk4io?n1HM19MccVKg={l#G8Bj_XqVK8>a5di1>%#_a zUHl%_Lu{04obs@XbG7sHeg({C?Mv+jY$`EFDLEeSzO(fMAQ>v_7=&C#Cht;aIYTb?cY@v z-v&8YCCGwj)yp$yLQ$o<4)~9QitjEmtkLl%7&T8_s?wSY$vU`*g4XkH1aZkrcCMRx zW$6+#d<#a5gNSKxjYj`;?Io$H?w+yqtTG|2g@oQgMb+Oqk=jo+ zapb%MvLJ^TILv>-9);9{!VD^^7p+c|HL5`jPR4*j{Ldl?J&9~UkjVvwE`=%RKou>< z1!%}%{)@Fyz&jm^W-cYy;y_dGQPUdAldPcjkEukuWhUHsOEiizf?^5*e z02}r#fCB$Lcwdm;1i<+DW*rHbbHImAW6<35NGe0kLEBFGwJHIB@))#5m@-QvZAnO> z-Dr!rK)snWB*7xjXr5<(*cls=zXr5~`s&aH=(c%CulTN2apOMzlYcoE)L00!*mcC)om*MBM z0QqEfEHnMC<_o8KWRsKD4zTCjhhN9M>ehk>(87&5JNg2!?g(`j@LdWG4o}Ax06i91wV1HbB}NJnvHTT=)K%&{xY$~{uPH|A zYf4+x@RpXO7k9pXZJDDe3=5w*t%6qU-T??0-wGb!u$VAFM8g2XjfB0MSDvyE<62ML zmwZ+pp`KS^nB1alB9W8I+k~2~%aWp?Va3G#`Zh}?;d4}7GhU^ToCfGpZsAjEE*!+epcqRZP4PxAM^N2~$T$2g98w;eweCrX6pQw?N zZKBMqPS`C%oPMmqjVmF?608GJURw1R#P(6x7>y1dezH&Oo?d$@#*H8rnd>tLDDYFl zlIt1B+_Zp?J1E+$_RRGZIFiXWStRjHPYfgHC3Vo%Zf3n_m+Ki19PNA3+5jU0}WpY15>(i&v%gS6#6TX^>9sl$#18%UmRM@uwFpzTKZ&OU*7BPp5dy$&cmiq{H7Xb`OBkkkv^u~s-nlZx z2!ixlyFa6}Z_bPDn4g?kUQ0qhjVD(oKQ+-dF^ZA)=KEcq*Jx<^>w_X3nM79 z^8 z&z_T#>g3ISFhXT3VGYD3RC+D=JAQL%7w&5HNz3Ch%S@C+U6`K@EhJ;Oeh`@&vX3In zGaQaNK3LwDY&6{YE0n4rCIR1zXd8R}CCI0ffAzVYm2{WcL1| zJ@SsFeodi}tc|franwkooTub2rxp)_R0U{Adztc3-Vz-Km@fMjvQO3xcpe?eS#$0) zqad}XtI(a=jfFFu*FeDZqlTm;e^%TdgSl{lX5|*l# z-ih3w~#js`rvAn zCF2YqD!BItk-d% z*(~!bm?3irAZl?yWyiVi4I-V0@HRqaN`)N__l)s{%5qYi`PyY^K(JL-bgHm6Sl$6< zB!Z`v;Ksz?@a?IVE<|fWtp{N%odc95fQV8_uE!kI)rS1i=Z!^{o3YyQ;-Zt92v0H_ zpAdn0>mGlaSnxMR|iARyQkab2K51LvX2!hnN>gGVYP`_A8s z67onF)&f8Zl6g*eQ6hJ>^Yd_ILkgB>5I1&-j?)W)>J8o}F^!g;7z=+J3>UB{;5|rY z_Q}`}_F!-qmB$xSp}oS>DdDF&u8%FLCmOnGb&~?*8kJrSsDBIiXBzv}@B7}N-{Zb7 z5%LW}))c)l!xL-fD4REkH)N5DiKq*qQhOfW+P&1OR19x5gxdB+L+Ivv5+5lejx~1l z%k$3@y>cD>CR_n43>J%mQb;JqqogRFuOEu){K528KLxE&sA%bj(QB$7)aIohlveEr zmz#mM0v$puB$rb!#*u@>twUl2A0L~&nYvVu@s7ihfb5rz_d(NTKsA#Yd1q3-Nr5kqDNg{W`0<- z!vU$xzxaDrwSG{SAUGwc_7YTs397}*t;XeW6}m*;;*=%KrO$SeQ`H~uMUxpB2w2+e z5{q~tBbRZfAowA`?AYV%8;g~XK{(R}m6F`ZTMPlT5O-%}OJW!bfu|)&I57#CO{*%w ziLS*0jn2;{*n5xF)$UvROHX^K|BCDgpL6)JsT#?>zh zneaRtV$&K`T@}X{v6@ZBrXX{w8axg2X*h>9B1Ba{bp~<+OlMbS4UxS(=G-VY5;8|t za2+>i_Lz)vPEYmws>!r4JDX3SHdPSHQCYJO38<(xaLS8fEO2jKx;ha=139iJ>XP+F zUroT67%VdhJ`zi%_s3IN_96@Wg}`)oB!iJe%Z-E}WUh6Sa`rgU-}XoKIyMTzJ1e8nAGKn^P#9z=WaY}HWM?$CO+^Ic^LQhhg+q;0 zXn2eQm`Se-BofRuO&f-mZt!TbQ#i?xw=Ga1m~mP%&yaP>#2FZnU>WRfv!k?rrP#%C|*1`Q;k+r+^lr1fb` zMgS+~EqV^~YSd`y(iMJicHc-#1dxrTA)x>=hDxgO%(b(CQadcXOYE;9kbxaRVPDF< zx&oqJ}7hWaxd>8lMN4_TA&H55*J7(GDG+>qj8uX+F;Kb zCE(0PJ<|A`Vw&UyoBfq@z9bDVNE3wi*Ta^h9VuK!YJt`=4muKAnBa=3Mpx|IpF_A4 za0`~F8k3O(;uYFiyViNsUK_pWn$>@R+LBXc)ky;3!a)S5++F-ZKv^~Mg6T+Cn`Kcz z>G5ob>YtIyjV8TJvI+ap4i7D(S65JuAaDj@f}2|molYbC4%SqC-7Z`_0j66a&36`- zA83a4ruI1x6%QA#oJ%Y|v`EhF0+ZyK5ve5$!qY?FMJ;7ciQiWf((HBztuVCQP0t5> zchhem7n@?B4NL&e2L28#?*D9j?58))oReA?W_=1d2OzEfc*di!T!rExYA7X&<-%Zb znMv0r>BSJEZ%-gHA*DTNAytBbg)LwUa#i^%0SQ<}8gjC#0jIpAv+Uy~P@Y;^&IuDN zzzk+&V#u1%RY!ZWtgcEH7-u2SAAThz4hyQTJJ55)3O(0U3w{{E`AkPkRa7km&+=IZ zjCgxv6|vkI8E5QSu6B32l6iAa@Q|jh|M5-OF%z6Y-ddvA^>*NVVt=w6P$Fo&y(Fvc z4graew~n}ZU9+w8_sca&l?E+eWey&jwpu9rlDV-C7ZiDuXwD0JW=cI@H7mX-ib1L+ zGt5~#rVWZ-vvkwAMrSO9r>K$Me~O3>)W@gnw3^JA!4hFn%ylkFdn;3VE}Y$*yq%&W zs>&7QVDNjS=p@OM#@iMt)1+?u!gHOUqeWZDX6Qdpn!$`pp)xk-ZT3RH3;(#2&w@Iy zRVJoyYx~M}(ZK%eS#7Sa2nNb$4ocrCxqywKX_KjNLG=J=-R--`pGlLSZm!0?n@zB= z^#QZNYWi!Q!fJ-U`-N-WCa&V_!fAN&oIYF{XZh)rllVf4;_42Y7#gKV zab91*Cm2e_BilLiDgn>LuDGEZ;(KX-jiVl7etnK#@T}>klkP&0*sw_Xd5(do)L_!_=+ha)U z!i&uH3OOeNy4F23 zG{b%$qZ${oBv?#Js4fT{1SdK=s{2H}eZ5^1SB$a?uSa^G=Sgbs^t-(IhY@a?Mr^MMa(`Q4TS(;=-!BYr4aJ*-Z zpl|$f3I6DZIa_qlgRDSwC0Lxy+FXF7m+mSK8i+-?IXbN-Jhz9FOVsd|>qOB#19AVx z_C(>h0qok=;0$ujnehu8coL%_e=?4yFD;>#P9XPdhKPn5Pm{bPxs_)8kw=W${qV0z z^CYVM$uNcX>gk32^Uu}MT%DkYeV2irQ1{o`1ZfLG>iFvL0b(P7Or>mc3_ThrExuGx zQwNkqV@`FJbhRs}1OaF0f)W;DhRADfbP+cf{v3WLml!4tGImcpR+EPQLILy-E#$Mz zyW8T!hYzMk0BFnb&R#@bQ^Nf~jZVoVX^ap#K@d#jWIQ(+XcN!G08qCH zo5!TQS@+ZsQ7=}FImBG~RpjP-C2220%M9VIu%LO&wChJG*aO)!GXqMNHFNV~1&bgj zGonS9@S1*6J$k~@o*O)A)(sYW4M0#m@)=arGAoEl0v+kzq?(Niri+~<88d;%KAI>M z*<N{kyITM8v7Vod`#xjduuO!R0Zd!{%&auuYd`3#? zz7e0%Kbql#2MvesR3-|3;?rUBFk-)}T`>dX5Umj(AaLZYn^ms~co-B8JoVvUFf!BvPGZ|d`a7< zRv^-=&<883GX~~c36qwC@U#oTcwTVB6YwpmcyKrZ1F8QA4vFlr!q!5f-X8^#$8AS} ztrp&JEs17MkM;sKI!xDZ=A&YDw;g~|*Kg;E1JqKE7H@h_>H&oV#JuI1?jRG&LN5cN zxMl>hF!d#X2NXe6tq^yO#aw*!E-uFMD7O7J-sOf=s*Z&@qQUnH31;^mc0MuXR%lEX z=jKU&?C)OOPvKOGY7Aaon0MLjQYNfGW3=`da;W`}&8?2Poh#(NKEZ9*=eRqa5Kd%Y zt5Z68rEsolwL_K^xbBKmf<9%Q;JzHX213zGeEMD4pm5k6eWUEy#FpuCnBv6d+dZ%- zZyo^i^JO<+KX8(2-`z1h8g7Vq@YrEIk+9RT1=+NYD<-{nyFF;R@v1M|OMdFcq(<)Y zT@wDBGJd?KW#D(W+?FIis~Q+pfL z6PCXcFXhFW1eLuHa$ArLua!9E(6r~SWj4Y3^3V@J*E%=h%^!cJMlZiGxUvXCIQfrmfAhKB)Cw;BmBYN3XX6FnBpLxE8YM>Imq8o@p#Z$$dl zyb&9sZo-PBr^T<1M+ZPSg$YBTHUdMsmp5i?9iHogXJdn;ad0T8qnkgCY zDaZ-O1TJ>&%w>hDI{7Jg2uLcQr8P{%S(+sF`0U?6i12guF=1Piqhx>YBe3{|;Pp&$l=! zv%h9zyc8nm&zIEV4o+MVH`c{MQ3Xe^n^+xhbP0v`BCY6YP!$Dxo@5-DW*NeQ-%)L* zKnGz_DW+SK8Zqf=Ql_N1XMQ?D(5=*Y4T%{SZ&+EJ#ignG^X0wxOp8aqY3VB;os_H$ z!QyRPz^YE}Ty|;<`n~OEq|Lz#)u|?k&8EC5J28A$8mb>yJI4qMlC*>^ZC@j7(!5>4 zulg5ywGR{eq3nck&da9|X&l@Nm&(uzUM5fZ@M^eu$+it+wm{K=D20D>OVKHnN0Lq9 z=IvrbC&#Kmgfy{E^Z#JM{(gX0y0iJoq+qvz+JVf6f}L<%_*-^L0X0u$lawvHjJ(fI zG4bPzc=&}s#LU-n7+)y?g9ay;ledJ-e_kk(nD#* zm;&Da^rO4&k34ZRd)j!%)S;&4*pP~Mj~$+EbB zlvpKcaG}Z?xp3HBpup-m?1Pr}&^^5aTuVCff3>-w@MsR6s@3wbIK*_0+FWlr1#VZ_ zBj?h-?Vvs}uKA$`ACSoC3+(Bj6NT-;F|0$KN?1K2Qbt=tj{H;}`bjP@cRn98(}rBD zXY!_g8Ce8%ZMIGXXDH~zJjQt7k@-zri$M~Ex&C*=I%h#X+6Y>=OWch5n!M_?o<6oF z8t2?xsfv-Di7eP**N-Hy7IKe^?5c6vB%3P9QZW9i?A?x5j>3aoaz2AIBDvNqaBnEt z0Qr#}C8{Q5EW3T9xI{Qeho+Jjm$#Hi*=_w-9v2%i@l1j1qcZv=%+r)!hp+6YyCk(eM0R8?vS&B4 ze1uO3=yM=Cr%!=7Z=h0AO&N_{py~~^mWF&2F6mef&U?w&+@u|vn#I%uIp02kZ4cCW z1<$8CF|tXznKa6f7Ij+RE}$0|D(R_i5d0=+;iH5sVR^9ra|ZCGGLYa*kozlJ*ayg} zlkjw$Y8oQU%5m%|A2|y~pa*mhn^-21T{zc^XI9|J4~{-L;{~1VH8p3#)}izND5QFXks?W{Vp5qe|^H)hJifIW+~5kqy(ocRD> z^N!s_O$RH5gH{(eRn>_>ndF5AJM-R}8y{hwL1|d34wfm4#&sO5gElhIk<47GT5W{o zOn`WAUR%VJd_kQr*PhaV>~r`uX0e-Clsas2EZ^aAGK0J zU#iB|O*)xO2C)u~5^^k?jH7`p3Jq}r9P+1@qL)%LEnXb`=Z#ezFfoGVHEvt`$Ri&6JvOr}7He~pr3|O|f zJY5(qQ_e!d`bi~R2T@wNdjIlF+6dP)WB1H(|50;cmkUc#mcXl~yd7!&eU{6hfObhv z)mJT9!n6#d|4zI>0NEdl{E4tT;>{m@%`W9|lV_!g5G`E6<1`CYf2qn(j|XqK*>tI~ zfynhAx=tA}?d^Spbdd*^h#qNKma4lbc@C;OJ6vY>Q}Xm)cawjcwB6gN-_U`EWWB+w z)K|rP%HW6meCgi6gKP^H_6pkDUIS+5*l9y@GXQX`tiv;D~Fyh&<7xvkU&^FAj z!}f%LmYvyzHd|}$B4rkrccD~p*}!!Qf_HIHb|(nzhlmbd_%jnJ=O%Mu*AkRi?GOA+ z6p;(gBXBsKSltTGU3CDL;PGHdYGA@MryF?mqpEJ4AuB2l)C~)>();Hrx6}>P3lEOx zXuzOh`m2+Dq9#RgZ5cQXbvY~2q{LhQl397!3!t+Iw=A%km-@}fw7S%;3Qs$3G8Vmd z>i9}YTT%SleAO`&3)b-n-fH=A-`k>zcC>qB_p*TI>G~~6*mmH$2`3 zc7Te$Q-1Eb?=!k1Jc|sg69r3nG%DhUAkuw8aDmCsPAKwh89_cdFvN_-sO?W2jDY!* zhY+-80^2jZ+BtqBayK_5x`gC8X+r-^7z9|s&rT`iWn04h5`7{hV^@-~UVPq>*>zfV zU%~zf(`H&V8GrJk!oVsxTx2JDu?iv^E@9~`nTd_EI<};FCgUz0v#8lEA3h$formgl zHRYnqsA1o!4|V7sd1aV;`yu(!8E-ou(;+pb&XaF!&JGw4ucLEMn6ajqWsgnHp^@oH zOX7$a_>@7O-q|I@sL%LO+m7)mJ4|Zcu8#9|t^#eM4cSmNcHDBx`56|0X@!~?a9z)FN3gAKo^Q%Cw$YAj zc5@S4$ZG=S-+QVg>jN@cA z>}-)~d?1zQWLVidzXOcc@;?DwxnkXncm# zKyYilRMk`KK_2t7b|@|l#d7YOHZ1caQks1!Aw`=CGo;)-?nQ> z;zRrb{-Hh)PYB=!*~>?$pu&sretgKa;6Ze`5AuBQ0es_qNm`$@f+|=(k*$eN*D;!> zTwfZM8CyPA1L^dVdOke za47TeV0mkWC!upH=iM^rCWImq4ya|k%zkOP!A5$g=Xcx+HUC8mQ|XTQ&TNIB1WcIlpaLhZ8B z)r5JcX!)zL*JEd9AI9Rz?fBv?>WlkK%@zZWh=$>Q+}2~j_xX*U|IXKRD=T9(fN{LY zar%r-Sj!W=_`Ke*@u(aONz~Hhh*5e*f+uIWyjSKc&vBU_$o{bKc2opjdU0pc;YV*z z<>(+%vn6`LlU$Epyt$Nymuw894@wAdD)>d<4a8@17ulUjG;3L&3co3`F%x_xU81CX4os0V&X9)>>O;MS2Uuj@O8?eAsPmxikh>-!n1S%jx@Q3J!Vxp= zzZta?ZhZp#U?{8hExd+WjBts7JbipO$!uqClk4+Uz9T}mpfTsOv&$n97Z34~9ugU@ zz7?evcE;3dqgF7uR37kT0gi%=C$DQ=2q>RzPZBVJPvQ7yIk-Idm#TS!GQGT{t^Dhx z^iTk04V9%uW|KQv=-HkePL3Apl)Q=lbb1T9Eq%~^+#Gp-?qk@I<_hIn>^U!N9XSP3 z^kq1WD7H}Z~n4Qp@gL7CL;rRwhF!}c}n4OI{zV|(B@I6do$k-<>o z3S@d(5a<+<#<5e+6HB^f{n8KnI<^?J~!ua1|kbrd75Gip_9BQb6equU@3&vd@D zD)1DSs_g>!Cyu-cCW0ZI*HCXaZ2HF{C*ic9Qr$}{#M`~(W4E~r(c(Vha5_lRad*Rp z9Eh&P00p+1>gJV0CR!*4Oa(E&1Y~GmJ8Q3}xd=TpqU(WFw6A%42_$L=R0tWG!zqMKMc}G!j{0vQCTe^0!} zvi-a?!kE(;7H6+BY{1qDI6L~!FPYNUz3z{$bxnn4FiXdhzH({hkl60IwX2VDGg&$x+bB@yAPh1X?2B{RGAYLbCAu5 z=%REi*?AjogUdwIX2u6FS=U|symI$U8irUU120pN>eIPc+PQ{`ycpmVC$R{b>#Bn- zM=9nF3y}V*r9QTufjFFiu|&^9bR2?!sedggPVTS8!Jr56Ro7zSr-qPFny%`=^AJx2 zs9g}RDFL}P^z`)34XRiKdCqe zTikR^)|kUB!az9fS{U_g-Qmgg)pQTtxN`B-qlLSqhiYDxuB>uq+VK$auRUXP7z*D- zq{ZDtTAWhOoS*r9NHovRkc9^YvR5PlTFma2WqZvVM1CCJM(DC6?}ojRzNJy zk;ZYXYw#K}gkXS>{^yE9`c8fgY~M$A3cF#%J}C)izAc)zUs}@15iX>x`ngX_*9p%W zVL$+PK#0FP`qLzqc6RfyK4)7<2QAzma6KQW)qZ2?vCpbL-(x_9wd32U)NG=jWup%a zCzNy=Zgxi#a!*9$1=98n?_Z;q3#0inh&gFV*umPM?An_u zg*|j&LdbHe4i;3C$<-+iEY#S|P1RLdV-3?Lf8mq~oH6M*4D^935dW%b=`=Vqs0J*@ z?L{ZFK0({@Z|Uc$U=>MBhB*sGS~X87U|-Imc1dyfNytAHNtyzR43=GcFAG@EdD(|7 zN)g$Oy95APfFj>c?rFHoU3Bim@3m1e!qOp?e$&?JuEt6IjVeM^SAxv5N%Mf9|l2UVlDm$dm zg&z_t-yvadB}`7Q?l5|-*p)#(GSE*+5At)n@KVT%0FnUHN?)R=>a+Aak>AJzvzEge zA;P!V1sPuIEmJl@^7r@FH_<@l8wFp+b!BtzqZs(nIZg&}jgkR;W6UdfP;cE`mLU4? z4T4uj3fDFnV0nvbmAvL{*CN^_uXWxKg#APkoSn}W5_M6>;r`zDHCU%CUATvnu`5B0Y_8t8Rdg4js7!>XJLP2-P7&UYvO?}63~o?a z4?fxGTmyJwgviqxL5zp~eLtPjS&HYH|qKFwssG#6$_PR?^E3M=|?eh>pU;5U)TjD!4iA zct%2~M;Svo*0bL_Z)8AaZBpdF632y6(7+n$YkW|zLORS6%R7i#K6Y~FB2u4CjMN6H zo_Xn-3#2`1N%u~(4N*B` zzKMIM9K!`QNJv`Ry^RIEqt2xOmU1HJLq2qo({s7?Qz_E@E^#@b#~iv2aefd;E9up*M|LnI_-=yrv;9WvqYnI6aN&HJO3huxqu8{_;aE&f(for6W z^=Rj><4b4pUunsME= z)_Le1U||`04|G6Z!+WNgci+P6b9t&fKhKMI7*SR2aNOWUFXDu>tL=`xx6r@)3=}#M zDeoXUr`P*h142)WT3r@KE2BX2`a+ug*_YJS%76lpEGC`5JY^@S?LQvY zsr0=%a_%DM<8`&&Mvu@5=)=N?qaV6qZ_sqvxDL}NlBUTMtZH63Xn{iU&tehPNm=Fg zBEkG;ZCdR0gwIvE0!L^|47vhPMU1sD07F01y>oIIvybA#L9I=r?Nc=$X;|ON5NNuh z;x;i~4eaLjd1C zgfG+d(LD}Ap91=PGW1!l=$~J}LCPMb55Kqhxy1S)NPNt6reLZjl*%jCN6@58PH2OG zvJPjr(yUhb+nABMn}MUQMR@$^E%>NZG5nfWts;R90+k^|=3@uqY`f3#pD)%xIR3ly z+Q1=o)p}ex1+K@z;7*AF%8+WCVjxi>SBWX2Zpu)D4tZF-c$TXc*$rOQC23k)z$d7U zHJI_~ovq2|fl@l`IX}7QisOz&-(YZ{MOCdgSt19krBS@dCP_OC^i<@vYs9Cba{u1I zmBrz0Zh+e}P%5Cjtb6CTID=I)P28-8)W!}B`(LXM0fTf+es%p`4)0Pn#4mkP2n&{P zj_BGIW-|X(Nl;W>f?GpfWehQxf#fH$ITsALs<|eeOKD9TW`-h3!`18O#8#zVK^g-9 z#%mw*B7)4zN4qtVp?jy=~gv_H<~dX zgE#}X>4mWRa<1Dt;8-mi@jd((azP=#i|;j%5wNAWUkK!W!PpJBqRN4SokO*CeRU2hLG6&47Z<<$ulY)Q{V9D&fPvJ)L*BqHV&qU3`+J)1DZEAE9 zSi5NcrX`Cep1FNFzdwIEVXhAJ6GA~Z@?zcC9fFeFQrp|7)NG~2w?r@_Wi;1)r13u$o}V{eJJDOp(O zC+&E~fakA#MK@>ncU0CbL#ItT*lIjII8q(9$k~O6MaIoPlL-#y8!Lg{^GO59FEwii zH=1ADE}M)6Pd6PDuBTd)AvB?56Y7<+^E^Ox&A6eu=y7B9eTw3%><1KYG#)=f^D1=H zn7%B6V)k84KE!Yp6qTd<5}be+#sYH!2ybBKbktUy2u$&NYcs;MD$}I1c}pu0z0S4E z14)p{>qBfbHBZ_Yz@jmTY*=_2pz7jnS{ct?(O3`>FblX|@C1%t$BTu%q^d-L-9*it zWT_Y@;5ld`X`cH=mbYe`!3@PbN^sC2Rj}g-8PR=rIxHOi=nPjkd1U&mq6Hl9=EuBQNp&%mm`A73#z%}2(XQs;sFi`~Y^_nQ3Y+ei1&m(Eh&N7D*I)owxm#V_WOX$64rH1 zFhLtc!KR~e#@5e?c=mgjIG9p+;!{lojpI3Ojt5IBvt|UfBFj7=8_C1C)9!=}!Bxs+ zjs^!K+>!&d{rS+0ZPDP0yU<(5**683bnpjo0E7}E2w7*Mlll{qoMo|`d5f7qmE%LH zpn15W3Fs=vCqY#MF$`W9j2hMGJf*G)iF|K z_o89hytJ+qT`!hIb!wsG0b;3ouJGcCwc!hSJfkVr7t{SRNiwHZ&c1?PlDuP*S*uuK4fV)Q zL-NY(WbYi{SXTF;fFjCdIHND}(lah63(zC#Sw#d5(k8YzFJV|@N--5mkuA$Y<3)epN!ENi>eZ}zVA3(J{`up z0Sr#PD5oAfhY>I~OTacy15ws7`&U`nNQG&C4FVYXca-p;w)t+g8m(LMJMm@3XXLm-FGeR>U$n-4+1C*q}xgZZ~x zAdsg7jA@p%69Qs$fS)si*LiStrqg+?{qqQm+B587tst5o*9Z>WngzWH${wmbUA^W- zk++13I6o40qYnf^%7ZCwLAU&8pA-cQs>5=7U}mfBkF(Gmn?orhfLlvzwmr<4)2r&M z2f}XuqOT6v&6VEeTCsFF=zT8mR5LG$kEv4{449i2f|CaVjS&a}>XZl)V-pEeT*IUgM;X1pCF$oQR4bd*IE8L5L{?_Byx;?z8$ZE($m_rP2r?xNjuWNb>JVIAy*7+fI!O5DgZvUQ9jBtIJl~Ux zO+Gd+JHYzRPJumlxB;EJz?nLC1k0HOvSwu)&W1ELW-N;}Mq+;@P36TE$T=%Q=d8fa zS<#V@^#wA%MeHAj3)(@PBBU!-hUrL^g)pV7!M%Ix0yTbs1r47O1a!2nUT{F}s_E=( z`%BZg5lnkR44dJC#?2`L2F~8DUP*@D3Y1{%kdv?Rfl|OocY(rWTsP%^!vN_~-FaS( z1p#}PHk!(H95*}oJHT;>_KPZmWKbzpAHi3}_NX+#>b!GgDwnWJUp{$1kpvf`UhcR2 zOCm_1Wvjw4U}QLiW!(zgXwE`lo2o`lC;;OoKVLfRJkWbot3;BzdO=$HA?)XnKp8wF zCww4Ir*pj530Pi2w!CxDqv$}I7JcTF9s`mk4s-VRi5!!oVU^C?oqJYJSQXU^JVp2x zJcqe`O$GFtydog+@rGRxSCV)?4PZi8=6;U3o#AA1>LkPBVsGvh1v{jMzzm7!aa~2Q#-ndUd;Rf7sL4mb$g?Ko3Cq;$4QFh@>DNX@2-s7v zId~-FvoGjm0cl6fxg5Y*|6R!Rm>V8*WHU!4HTOI=Hp{|wT%JcHc~Xmd-N&VFs%zff zF=IRxIEzSQUP~-7g=ftfY2MT_#4LukJkY$U<*cs@@*2{vpmOKhz631`FUYGSR^>B3+P-gyAR5y$n<- zbO(9Za3`&J@mJDas%)Gkwv3SrM$j_v*&qrj9Ro;)4rV$3O9=5OgTjfBwZ1gcI_Z(S zc`~}YX2cX9izGc2)r;$y%SB6|;?Z4{+~FTyDS`$Jk`I0NFwpnqlmnI$Ucum#1`fCF zujJ0D6^TwlcA?1IfS-*}ia`(pVc1*@q~U8-QSb@flueSC_mJP!WbhIn&x(+PR}k~M zW|yQmVM+vQq@cg3izak|5B`x@ncgMbAT{EjI}UYu0c;fUzM;nmpJkTrd8xHU~l3=mH2&D`sxcIWX8>%)*b z`7R#z5W8?pUdO+xEdm@DOl(ZdG%mG=%a^~Ak_9d`!i$^8hs#hLqVl+*=Uf?er61*26C>J&Su;R{d1Uc@{FWj<7liJY1sj zS3jpZOEHw!=(kE1ZVfREMq<}fIxTjX%*I2Kje<-#t_r4Q8UOs;wAy~hcvA;l+X8W0}nCuz+jnAS3K%1Z*&^b2=6 zE=9x@GL$80<-EjjP@9*2P?z99D|F{DeIu{+HS(g0>WsleOBAZcpjKWGW>!6uO1B_g zlr7JW&HVl_4upb;iJSC^9)yIb#7-h!1`@j-}F)R7qti&+`dIgwoopv@j^qDO8C#)Kv z-Xv86Qmd}vVrxz!pz#~*YP_q~%F{Zw?2BT7Kske$Cumc2-*8(Kha4PJH~j^|{S3jb zQp~hJCWbRF6t+S}Cu3``J65e!SZH14)ftezbTd<~FUcl6T*arpOf7l394XI$Qryeu zQ{yMqD;T-)Mb-8Ve`On!#(P}Hb)p*VD9jMr*33C->VEEE#ILx(2dbQ4o;A4k#lnVN zuLA;BSN8HO5+iNx{QiWH8=!6*PGiaU=aws@LhO2znoE39L8eJhH-`OlPNn<(!c@(d zUS%ursB2r&_>yPp;OSR%(?DUG+FnmVpx`bG_GH&?kx*gvNZKdsjy;hsz3_V5Fb%r!Bwl8f?CcSc*P1-#$>6BZ!AILSZ66Y7#BU`Z}txNWj z7W{Y3&BfJ=(W=M$Kss5IS$A``H6-k$a3f^*b(b1Ix54l+mk2 zyb@QhcTGG|5B&-rgcBc!(<4(S7*}zNB>|s@K(f|M=3SRc zt1Mt&=Yeh6LTXnWfu7m2*?ih_m``w!8f^HRZxbnW%ui-q6^JiBA?DHlNI`9&r;3qsAWSqB^JadB&PQvBja;*`U`qRqGrq2&zN4T^6--(f@H3_&xKcQHIW&s!?F) zO=Q`(&6^qqO&XTH2ppxYi5LMyPrT*{b4BG~lE5`RL~&$v%u|zBcUhoN@liNZ1aJl# zmYN;gE0zO+O+dRqV)^*}aN(9(QI(?aa;h^YOrOB^OrCkZ{)~Rb`IV}3uE}lrE>ht` z;a*cYXwy2GGC*qbK_*l_{`|^a39tm!(NRgl3Ko9|ZzaoHT~;G#cuo_NR!!z#Ki8_v z*%SP@jxtiXBbE8O;J2a+l`GX5+-qD`Cmz$#LYOcl!ccN7VDRy2C?$iZp}2*!aO;d9 z!sE|G=2*l-*(l~FG&2@@kH$v0USyCGdM@y}yFNV~YN|LVdAV>V%2v>fpA*b(bbZtC z)VZXV)>m_XIct_x#v3`ov1d5Z*bBZ08bsffr7Iw>@d_R7rf0ED>6(zXZy@E?+bdyj zIdr=k`5>8zh%|75*PJ(k`$P|r^qslAWqLV>H_YiUL3x9;JKMZ%zZl{(XV zr~*!!D<3|qYHF+qI)$s#VxCSe;k&*mV|oK>nmn6}dfTxLUXoqXoVj^m;lr5bW#~B- z(D^d~0~O>yqna80wsqfL;29qauWC!33=Pbdw>Uc8cs7m9;^oG(`^)QC_13x7&aM}3 zQ(CwLN*QH+;VoJKnBn=7E=dT-S1%EQL6Sze`y{6O4$uv68>~h!MuE%Qj?vD4pV+L^{SdDkv00+J#O-b8U%{@U@ zf>QyiYr@MT!&7wMk$XlZ*+8{-v6!KV>msZJgBZt1Zq^idPUp&P&nyNfXZs~-m1QDc z@cd*$CTc3c&IY>q*v8z|2oF$rB8RM;C~wC)2+uQBvF*ftp#nbe&+Y312W!32fh?^9 zD$(M*oSq`@)|eKwn^&8-OwJnu0+MVE@Rp z(@T<7aLm&~P=;u)R}bsYHAa+B=d+=FsMbUZ0*eZM$;%^DQ)nOZ!xtkBEW{P>=a!Oy z<}}>6fDQX)M}KMiBLh?17Z1_UIRB@e#7BG*mgA85wDEslE0eS4{fst4t8iAZQPY#L zxyjoh`*JzdnZ5fvkDa9x2TcyWU9&#y4ZYsX}e)?&{|gwyDws2x6H&!jp$Nc9iq*C^SIybqvdY9 z<*8~Jvyj8S}pY+J(_#8ij1sQ8mnRIo-5k9oI>R8{--~F z`r(H^$6tN>@y8$I-+%Mz+pptqzWer@?>@!<{HKpUd>w!N&5s{{_wA>zIUm@Wd3voM z$S;%w*oc3kgJrMr5C6!;#VIF6M)g+6toeZ+tK{@y>w=v7q{(3Q zf7pHY87RA10+k9sz>)BQU-3V%Qh6UDCf~)@ptt6@h?fR|8QFFd7vMFozcFP5TZ*=3 z-%y`@rgolQ13o}d?1$BF#pm0(HrQ&tH!UTgQrFV@psh~7LHfoP{%lUygoP(4BKM5ng?sm}(tPf+i#dp(0$&QJVo%rcs?A|DxhZWyNUrih$d%jnWGQz&VAel&2>`YI=G8 zu*U-7ne4;CBv5$dz=yREDyyY)51Y>?pwgDz%KhQj?{e&}*db-;%v$fvRu?F6Sj`2B zF1{zz6rYp;i-+BEw_G1qyTksl*{zoA^&_`;@c9}4xcx%y)arBog)QIfN}4nIu$g}$ z@dN)nhrR3T94xz?ugAlqU8j0nnr4!=rcC5xq|M{w(kz!BSNDG0Nd35vM)~%rofVJz zQSoRwDIT}R!D&M7arZtt)#HAuQ$6maJbXOpf)r*@$kE5S9C|#cf+|`r=StOMq$^d? zGEzn1vquCU-sEO!5Cm&3BsP)SRd#dUEcw-+{%M71gYT!!+R(;ESSdF1 zHr8yZ@@2f)sta|^&c`*Mfz3|+X~WL?jp&@F25ffhC()VlMzLelNO#t9FFK>`JofwM zAV1D_sqti2kqw`yZ8YP_`>|ck7;dA1;aX+5U4Fp`_)nWTL$Q9g+d0cY%i3yFvSky= z1fSg1+nrTO;MWQCRmuH3-_qN?v}H+uA$YaO;u9emoS?I#m2t42tI7qRywez`jAnCuy} zefzpAl3Ue7Bw9zf1`lRJ1oqLp4*7lHxA&=}T2o>{FP)m{YI!hz<>g+tkv-~Pd3msX zW#`>^6`5}-k#bAXHyNEB7!9|6^5HFHA07wcB3D!7R^<&}%{_+#BxiEtp2@9wCO7&_ z?j|$2wQS%=&B{;dzIYIqiRFAFQM9s;4hDVezz?OvN>zpq5va2KhqWq)*^h(G@h}XW z=crH~2e=CU&39k@@aYeqzWeFpxA7l7{_wBy?>_$U!#AIPh(CVy(>MS2DgNsFKYjPp z!?mK5T9tYF#Y0l$=Tc}ShwbbHI1GpAVW-^459|y*sAuTGeuf^Crpdun7`^o_K5~*P z!F?BBnpgQ!zl$&3ck!iJ{4Q6vt-|v5#-gum!wfrRxclzL3-NO8-YjT41wDZyVfl<6 zox&!1GzuG_QlAJOA14-hi?E5<1z~zidDON-^tg8SXk+ftTJO(N&0 z(R$-J86(dQ?mja+HzFoDrGr+d!rE z;qd5WVm5pLmC9s2xw%Km)je9z@9xohxI#oWla1)W!Ms*=(@V5j&aI%7RI!3a8}05- zd-Vk;6u+*_om4Cgo3$Mxma%?w(;@O@cdJNJ+AQydc)8o`v>&(pM>)p5_T!HK7^(J& z4cgurg;_=;muWN-w$bR|e$ixyp5aqY7UbH!9yae{K8p@pb7wYsXLL1zQoXxvbp6G^ zd^P@Yr(V?#Ym99)vKmLDjjqVLpY$ANsYuwRqNPFPbHOsm*QHawF4vlADq3#mx)Nm} zew^8dBBrm2U-zhn#3EcCOby8&A62z10`+<@Qbo~n-iyaUj71Tu7eW|~cRuCTM0to` z*BD;1;f={`Eqwu^?aY=GfvbmXX@_Y^e1>RmY)KC3U}%Y1gbrfsMvuCIl}j+`4YAT} zNm0b*voLu@D_wf8mi$-oX;v%kq8Wj4W3XUF`a3>Hj4%1oYNNAecHd|vCUATm8Ci?T zTkQ;dw$k4NTOpDOMGK#A0&V7+u(YogVg%+xAC$OL9y zelN?``U~}$Wn$SnJW4?c8ld<|dAQIlThVCS9xgV~I?`=h(Ry{)bWP4duUR45%cF8> zKjrSRZ&8L~xO=zmzc=esdtIN}PjvsiP4{P}tysAtgS|TfgZIqNMUi+z*9vFoijbDB z2xaPuJhrY#7`vj~!TH5^W`D5VLI2_tkFedN?TfqbL3^{>xsSq)U9?Z5C=&m&3N&`D zFvhNxbe!F7-7{(S_1o$9%-z)6&*tvOo?k|57bTR|u4rqpWCLE^R$G%2w-ucj-(e0M zJJ`IU?S5+Xinhb6aI`)AHO*ep_HlkZY{#>fxkwGSt}Q=mx7ty=TY8OOtLV+wt&x>n z8t&WH&b;h(7p!RKzHRNyvU#@-wthvU%_~~(hChNwf2jG3&dz_n#p8XuUnZ;lDcc?& z*Cbhoc)V})zi$8T@&13X$NTg<|9{Nmee*Z*c;EirlY{`+u#+```AJ zWw-S|ve;f1_93qe6UWNP=2^+#Q)WHV%#u5&!Am--MvCXO)8l=onc@ykZ*q1iVrya+ zUn`31j74Ukj`EmKiSzz^{wlN^x-R{rLtPc7{>|J-@37&o&0lP#o6R>)QGVFIkB~i> z<^Dmx{TwEe|FC;^8~$cA+$-k%y=KGTyoZ1D&bgoVOP4Y~UX$l1sQHe()Ar$ht<59& z>H&VYm8Qx@hm#@A#0lF}P^2 z!d$eY&&N1J-B7t(>(5xb&0oVsn~}n)f2Zca&EsK1&j40Y^u4T+dF?B7ACJ%TUyldHh zytPJq_miFalJ9@Ad-J=DbPG_;4vN;qy#glwR1%^&4u4M)T$^hA$oDFoyN^v+Co+_lj!B+7%7=PUB&Ipg%kB89%VtC|$ zLmuf`whDXeSUYZ|hu^xNDfZ}R3ddX8qw<#a_KORDZ8LOcr+4Nsu}ALT{Z_hFURlOJ z9=^~X3Ng3RN87FR@xA=Y#H-1{Any0t8{@$xS`S<8Rxo;&Dv;e639RYma9dxEalqat z_G4V|w28+_IPgKlvJSU`$Jw3aaZnN;*O=CKV|?%QR`9qUgL-{@mXp|CMPq;58sc@C z(gCi~t1)2L*T!ZH;GMN`n8xmojW8u}ADQBI4@^Eiu6$v;(oa$OaivH6>RLDGYNOZK za;|w(g5hjg?sU%l8nfIgK8ZT#Nbx_MvfYntjXrWq)dg|Fc5qLO=8U89EQ}`8B;4yX z_uhCsM(^Hrq=d^T4r3q>Rfn8CGSZ`TR{mhg-J9=FBdgyk z@k@@SVP5td{SLKp-=Q{U(Y)D)`-^SHJ4z&JEMsU8O@ zo~hj45HL}v3-q!p6rB01xw?7XuIzqA`_Zik(VPgc*+%y_xQ!IU`<*Oyih*8rf*XC) z22ZZ-ezg4F+1y}^Tiwqil6Rv0{w+-QYHY#1Odf?Z()NBPlvvpLm6h=C(Zj1C{fj(h z-ZI*?yn=4jN#h%2beUX^;RO5Ph+d-b2k9QYROa))ujnW!@PA582gPfp2ZS5At1(Hvi{3FC#o**Q1D)H|a6$%CKAwzRbJ;K%8HbGkKQ`-a})e6XV8S z%BPM^^w;c})zez*8STU<$64S##@~3U?!wRIHeCJ96Qo0F?M03vMIa4NHsk) zAgR@idW+Ma0Y0W#0NpOY!|hGhrTYHYG|z#~Gg+lL+r>9vRWUDpohb3C>gxLX z>f-6E-+g#^{OW%!H_X$=o6CoX`?ITC@w=0+e)m5ge)sk3ncDz{EQn|S@%?SHm2}1a z*STDM;H9sa{{f*)!@)7fPl*ci#~qB}*oNb$)aDLN^J$LW#I*XG>Mk%36xVJ(WjL~Q zbsreMna*>dl59tk-6lQj0d&u%dHwdLx+xIuW;Jh|H5I?^`I=~MZ!XfRzSutF{Ae;Y zZ~8vWi}r!v-&7Bb_SQ=1f{oFYn+#62<~!YD{7{=Wp}7a%bWB?VV-yu}Ic%nI7;#yh z5_La+ssHQ(Ey{q_E9gzdXKw6@rRZ6b8ourzlR0Xhf4!?q{NYUnezuFE*U4_C3ztFr zlkVzFGhb(N5%E1Jqm2aUfuUPZjBcKorZwfg2}1f%IKKRx7`d~tj5+OKPKJPkjNT<6 zbdQvMet7kUYwJK%vDHEk2^My@#?DYpJeZKwum9P`!r$J5n#u(KGi@xrd~D5%H9_ zV5a8D9unb2y3?yphv`s!!9Ap!J%slVLNH6gpp>!-oRmQsXS6qsYXS}^7f)lEczGvJ zgQNV_Mdz=cEbB#vs&0!bN7F_T*DVotiwH9iu^QN?L>OX&ImT1nW&pjVj;&T7MqI9R z=H!c!-m{PQ$%1&6&w921E^UwQ@TY>bKED=(2?< zVR#;Ip6;(dV)S-TW;45QTt`Xj{4!XcA%BLOD7*W&76Rxk;$Dt}<;uO8RU!;TvxE6oA`Za2f%sPj;z?LoM00(x6=;sRZNe7b+UX^?0HT9FXxw1_^Xj)-xY9v`kg;DnHrNwOKl zie?ktAYcq+3I&~zVEyABh}dJ?0YE$j*W^o}t4rqf-PKPGa86c7%y!#A>-GXIG7oD& z8Ocx0DUaa1G7?`0+Z9pq)Ozg+n6$w51tP(~kVWAt>h={l~4fMJ5Cv~f{Km&k&diZpA zQ7RJx3&Q5{rxFdkKx_hWj`MAh$Izzx^2r4uhzfdc*8#)&)rfs@8k>_I8fEd#<*%m~ z=XX)7dw$!3+0qwG!~XNt=M=Cop8HQ9FQXbkmc(6*&7hp_<*P=m-KyeeIYeTy63zU6Wspu0O%H{zDa{-{ihB)Hytm7%IUH$*qE? zXX^6v-T8-`ixsw={WMzDa$BZ`zzlh==!tBD*&Ud!)eWcBxKF(LS3es*p2i}Joh@wO z)vssw4=9v0vG1Duw9~saM4e@28)S<5pW9G}Q3;nD{Tuq*&>325DTxZXUX5O^ zjf~jCd5#F7_}f7tfq_CIvr#N+P;c?|T%JDM-#6jx?B?e+8lt0XkVCSfb6Aok{`>0J zC-fbm!AKI@-xz9awbZOQu4<}@K?!{eAFrQe_EUHJLE|%Ez03~P$3W{l&%f21nzG3X z-C73Ldt|6>_dKl*cJ1pdog|K8B-IqgKjiKL-08!Tl`G;+gV!bx;_zy&Q0@MVcRnKP zkzbGdPmNdH*}MB+uV&67?JeLep-sI$nz;3jyuW`}19uY4`kqBNu1Ea&P2&JL+(P9or4FI=!2@FF?f9rl8YrLyHGe% z(%|cIO{F0nao~b2j_3B~m*s%zy$laq`Ay@n-)xFFTHkom_bWpa#7V_CnJyJM7kH0u z;j(dF?|OzdDt_0qQnY6#=nWGY-=n{I4PZZJZ0IB7ccW^<;t!*u@2U!%dlh!AsgGoG zTwe~aX&kwF=c?+xp$`U9T==86k#G9u+y8y`k8l6_HK%vmNDx1W_S& zk8C;m^(h8v99(KazivX(j1@ngKRjNQQ1XZxCIM(qnjacxk+R%|yE_S(-MN#%t=UvV;C+ zF~jTa0GjCkvWCzc$yn*Wx&C~1{pt3$rN1iV2R{e3@#!@aX|v?Q>ZP?=D!007yOOzi zCSjak?_gpHlD@{ISqQ)SuhXZ8Pgkc}_P?J0bgCf6^{s!sX#&u;jA)}n&-wM*kG}cH zB#a9*WKUoc#sx`>&{rzInt|N-!F2RQQ~PNX@_7CA@$vrR{m-W=AfdU~8$PP9w_CXr z+k!LaUry^NqhivCV4FmfLlH-c&=)bR?`0tC90E53zntIRT%Kxnb`r*Ic~)O_b5m>q z^Tm@H+A8LYheb$K5~ac#m%7z{sbMoFzUj0{H?;nobQPys;E3^W1lkU_R@8K45C)p0 zKi%D2-&|d`r`{p@Lip{YskDAh53%9wlc7x?%Oh95`maw5&6osL*VL!FOKZ1MzUmAX zX6qF>({FYZ#kt*67XQWxwpoD^2miN-9iUgrstge){W2DuYl7^LJFt9@`?Oo@4B=PW z4Qf8o|xv)8Fq;b=b3_Ye{54B)_7H^eFeQ=!cuj zMIJjfg7jH_#cmbfEy<;!)J6yIK0ht($sIfwQwv9-k2~v`-BRYbvyRo6q+|*`kCfv+ zVp0_tv!SeMNt7cKw(l-vcSW8woEg7|hmuWX$KbYksQT8vK}Y!K3jMyt#VRv!q*o6Q z_YY@xSJBb?{==HfqH>B$$LPFEK%#03>Z;5L6IF(SW~hMu^#0-g?`^M1%kt^&;p+V2 z{duhMs`46?Ph5V_xfX0Hgn!_~xlLt}GH{eeLK%ni;SXvgmd1VkBsS&%NZ2I;E8cPd%(4VkW$Xh5)5qdy^&kH|I& ziOR{fl{@;l+$^ULR~NsW-T!>r*jdUlClA9m4(`Aav;iky4O?>=)G=EVf5RgSBW^+` z*y_guvT#tmD3g9}x>mKABgNKBqG$plu;%yts-jbWc=obNL9dd)UnOK+jo@8e0?<-4 z#HSIH5T8b7T#*^EYRIeEY{geS3mIm#|65%>^!GO%_It z6#XCrVh4;IfnjD9Mi)|Yk$x%SiN$r2dJM^6qTrfGmSn&lqo2H55Grqy7}z@$q#{NI z6C9}EN?Dr0WsR6@1P+EKagl2l7m0Lu`gP66l9N{%8R%EPe$D$<(Nr!ntY6!g$27v- z)A=u_HHI$?zbB3z0(tK;XMmS7_mb$UI>GIk_sEzbA2&szdODRCZ zvc4#x1u=wlQPC(wR8>I`?ja8N{+FwV>$HyJw;Zh+WTh{md2A;xv=78u^y4yNH@{}v zx6N{c=G2DFoMfj^!G=)D3PCN#5H`A3%`JrpO?gxwuAa_M+YN_|)N;MQ8q49}DL^(c zZaJFFswSk0)>xjT@bWA**)Nr1)^Y>BrzUXJJl+4i2(|6rosfeCGd&y-E{?Jtw3J&5 zre(guGZ$EWYe^xQzm5-_mTS}-LBifN+Ph}->2UdjM6Sh(8eaIb|TP zk8&d}Py=6-&J*6fcawm@< zCf7h(%=B7NObU-!o-D3oiOYgmRl7CBxt=(f61N`tPL|xJ4yzz}o}+QnvL^?NfiyfG-B-fd}(Mq zzce&`YV?Zd(;4unHTT?Tx+Z#JioAEEh@-bPY0)lH+U^p&^$_M%F3**buFj4C^z@o@fF)UzSLM}_9qFE9Z za4Dfw_S#qJW@-)4G=-${l30;q21(87n=$dGUeir0pE+4B`Ww?-W=jk!w_vEYWB_iVc)F%A(Z;oxh&Fy# zzZh0Gu>E?(b~0oJLZ;m(dt$sWR`#^mR`2VlZ5vjPkZJenB9IVP7hy4?*Qiz1)>1O} zsUP!6u&i>*;v|HD%o-pR6MkXHQL#^Y!s2WoW`|#yqvs@{)9rh(PzmK&onkg;=){T< zLS1E~F>xr4&9x@a)oW^5{`_%s|3jTT?6}QHtJhTHI_I+0ZgcuW9bi6uiE%59x!hRZ zSRe-yYh$jC%wd>VMPKMuVF%=@>!h>9aW7MR3i^Q5)|AY5USj$hffgIa!s+9~{lYvveLg$Ch-p5)UO5Zx{V{x1M8rMj$7Mh$O)bng z`0zqN6W;FY0|lDM4rn4~Koj)>Kofb`n%`OI-efbM++)O6ok3JhR1ijW_#+ebtJ&VD zOxK96)?sB|#5$~Syd2A66b`a8Q%5yvG4HA|9G#%C=8Ot`Jh@nl0{)E_Y$P)i{auP7 zSTnGDL%qq3<^ph;>~w3AQn3;EVsR4d*$^*d9PPuB_9J;(6grhgrc5hui!-;N^JQA~_H(?#b_+<7bD#cGX!XBYuE(;I*4CH?JEp89r`)@93!lr#zbwRHLUE{BYH%x+E>Pwi~OdnX>TCgs2tWyCa1S- z!q@w?U=75r_bl}3r-cZGMA$hIjwd3omIaOoM~U!ziD;sU!!9Cjq&xK*sR$z#d9GI= z;7CQjQ5^ReI1+BgBr%7hLN>8-lZw^2`dB!*Z!sbr*_vaVp3`AiI`A!bmZQT^I^2Fb zT&2VATMw;Hy+t};q$A%M&hvC+AeRdq9gX6sjd5vA4Iu8qzUhv`%*?4-1K6^|Omf&b zOvq;gn9xkI&cR_~R_p`AypF>}b`kV^nEbBDf|UVoR{-4=N%&gc$Fwhc+~xIh{XZ3Q z(qC(xO3=RTv2X~d9(fU9wg--w-yYfZ*8sOYVAvk?4aAY|+9BzE&f_$efAl4J^gAYP zyA>||MY{UB9`tFD*hBm`_5gejn)CoY3F%VmdN8L!VGr@& z*n{VLAe^l6Jq_u)=z6fHL1Pc`-`GRodm!(6gZ^tzde?(H4F-FN|Hk)2@IAEfLt{JO zWj>_+k7=X#ju#={j82&sk%yh)2Qr3Nr-;yyuU02Hwo%PpFPwzE6-6|8x~N*|WnQNPFY`(@cOHxp=3X(9FkUF!J!nS9 z0pnrfI1uc%2I#3s#H zTPSDQw2C^aSs4c30juNyGqtM2fs}f5Ay`V{_$lHc@gRAfGy@ZgCF1VCl=d$a;o8=;`wZJPJ}E>-_|lN=RYg z$e?%KHju<3?je)K;z*E{v!?=Ux{}AiIyb*U9DRQ5iVd+DIAS@>uyx(COcFU*=MP;Wc+KYd0I_R6GFiYba8{Sv zn(3>07TAa#A=`SysVw7Ba)P{&()PXuQkpI2g04pX2{i#PgFJPTwTU^J^U+Ca6LWH6 z6LZoW?_QAh6gI4n1d;mJ2lom7i8E(M+1P5?I~c@N1zE7Q%AN3BYAIpm3C9|tlTHdVQE&Dli1a$ zX0@wtvCUEOEDfq)S4F9nyBy72#O>-XZ(Cpmn+(sj&`1BZP(lM*0CJf?*wt@t*$cMc zd}I32VcB{?$n^W<)4bI@E1!C7%k*UWf*7@)-kE-%(jvcuo>f|8yOd@0vDQ0E=02?@ z&Ks-C@_8^p3}iwjGY~R^+$UIJan7Y9ex2T}i-jgX>Eb!#(&lo>oH)Ieg> zShbpDgr*akzSK#%=R~XZcS7?n2U4j+;#^xcOBjN>={r&I%}&_qo8h{MFm7f2T;_iq z7Zt|Qs4#98i{9nHFi!Bf;Do2*-iR-7A{=@%9IK|vlf}Co#Ee(3`d_xS`K-kmMY}*; z52E$^%Ulnf48OJOfm8)+Azlb;A$hEYpjZplVJ+kgYoT8NYoU%YW=C_I#8g7Sd(s>| zEx4isNZkkjl$c+|875hui}s}vgyM{wfKbdV z{HHWS{7;DqPrz}8Tsudh0EoR6T&~bQ0Faa?v6Y4C@Wl<;+lbJa4 zG6I(~d@^f81TJT&z~#(D;Bv}=A8vuH50BF1cpz{U*>J0#lHvn+n z05J0gkk-$U5l%D62rY4sb7vDqWQ1!?z5T==fJW$9P(`VcXEJg=3`d3`H=z+JDJ6@I zh-oYrTQf(|;1paZi3j6{Vi~ zaV~q914m%861N?3vP?{dL$MJjU5+^E{1}hW`7R!z^I;B-&>WP&F!2>7<~?zNdQzmf zF$0wX12Tx^TUMHt>s*%WTo}W|xzL4)b3t!_BQzYQs1!w#3^#5?$Gs_~yI@*ngbR+P zGCwq7l+s;TA)zD%kqa;dM`(YT&Rh_w^v9gY5LgQG#Ve@GgbPJ|2SSefBa31ns6!Np zWZi`0R@Y$x`eBEBtCla0I9>R5B>bfFtZwn`VZ)P7?kfy zolGx*Qpm{x9Z`cof`b!giyS~ltio%j5kY~3219JwN5cS{V)>R0GfZMMhd_BdBt~=5 zA1t%dtD`pUIkRh)xy)nvw&w3wpElGnjm_k4InwqH04 z13n_%KLsD*tY_Jr%#+$czj}rVvVp@#n5{sJG0XfbQW%*ohE2?(oa0u*(baI8!AH0p zi^;hz7oc+_6Ol_7P<3#LxA6=g;oO+()Hz+&&g~QDurw>qWv^$)DFEGSt;m6)98g|$ zRpB`*$}=efq~3_dxX7j)J_1wDIIu6Ht|MvVtGaHD@Kn|YpcD4pL|q5I!$(9dLW7TR zN$31rd_?m=xMY`JS00nazvNp%H4UgH=p-zt#x6gXu$-q7mRlovF0JLyjD+Ppm2_vB z+?~h%dEX~beV-WRoAdUdvCH!si3vbLw;>rN<`Mz5k5A2vhGO|tg$(EDTm;EqFP_a@ zB<$)gmu4fYLyoKtx{qxG)ng5`Xm1nPj)7kK&4jQq&>(!8RoLB-l2#6RZ#}$o^hnH}}7+ z|I8g*)i!1lQ?vA)KWlIj$%;22>a8v?8^efa)Ooc7Wrp zLXKL6+z9IdcMwzuZey}0014X%W|a1TMxQl?qAgt!fJ8LRei=XlK>g+b30sf=`h}1H zhDQQuiUjCvb}-2T3gBJ<31E*hvnI0}rd|qb9_HTkDDp?Dod_wWMjm=d9L1+LN?}-& zv6Lu<8$)uk2Pa^rBw%1~fR4_sqz0{t@S8-*Na-b;#lb-wh?3E5((+^8D~Z+Yv|T|u3QzDwkrk9V*;=t$Zj6($ z9M__(ng+^P7PqvaOQG&iWB^0Z>@^l?YL+eN?s5o`f6e-yphxa2Xj`rB@lWWa*N|gJ zWQIH>t`{Snrbi*He&$W2)1Z5{E5wJr8MG&Vt;|3$%*NC-&}vw-t~c~W&I#!=qo-zw z_M(QqA(Uq9wWTkyyOh2zPkQ{N=ea^;nkz+7FsuaRIy=tjXY<|f8-C+oRACO}m zFDO6z0J$wcHH6u{yxi2Jczmo@k<=?rlj3E_U+Kf@W2lr4 zHRP2VOvzq#4#~a)t5Yqh*HhGxH$7@-&Bn#b7+!FwA0W%+y?8z1 z1HA6=0bau#HRPB$5E6hv4PoXbuc`bA)hpI(=BkP1o2$mN8S8wG2kp%W2=INvI^W?L zs97JxVTwx8Op;;D6y69r?o9)+Hv|FT4QC);+Q?r=1b|-?S}dzaD79165Xi%H=7LD2 zJLW_hU@1WQsL9`(V)FN0*c50SIJ~7Mf4`=R@tGO%mNEIqI_)~xiOJtvdFViP_AJc% z;{`FNK}bpyFWP(23x5bT1p3eg$yUl^u=nGc|kL!4JH(2T(&D!tww; zSO>{*(@TO2Gwo@ZY0sv|@mY=KZD8p0J$>O2Y6$Ex1eQvfLQad z(>}o(Vr%&`_XIh*EHKGa=3O{+h2S-t=VKchUFIW`#X_TfhDQ6EezBs4JamXz51K&@ zc{|gZLKsj(YXXTWYKYdzKcV7Cy^KC3NY>pWw%-b_lDc~YIdS(0(jE^Rg6cINdo z+csdY4J+ABa6_017dav1%=U4rd8EK{s(@cd8-QPfL3q4;0d{ql_bssEO-_m7p|=Eh zC;$u(1c2ea*wt^|8lH>k=RLMHngaX^IxA%QeNt*Bgw0m%J+{>w1bnqxc~5UmzfX0M zx436j7ak|UGh_lKbD!=q>#PE+(en6J4rCS-j1L3_=7ZWNUSV+#2DUVkzcQyUXhLV$ z_jG04kY`=te0GKNp|`^LU@D=G658faNZUItfBv|+|3lp)nfn(l2r12O>N|hjoPJsV zne9KK1tIyBMGBe63qlVhHjR~$1tD{JL*Ht%w$>(t3BpWpLmYgPifC=wEM*89r!>T{ zE!k8k-1N-|f(qPWW&VP|8D`-8u}*735|cQkOXVy8u{QJ|0+snjFXs?F!nWUxAmx0r zCb%IFJ#NS!(CM=<1vJD7f*XpEi7&$q1tpGRvl`%#+YKDT#7IHO7n1B1iw=wJx2vpl z2f3NV3<%0R4>{BzAePQ{ARv0HYn~S?wzEeB%Z8E(mYU!#4J8xoB$Q0BUFO$R5^eRi z(}zT4VU3Xx>}XX8){HR{0vq`wqLX^8QEO9;i4z8+^*T#(P1D<>L{hwTX0lPWAa(R- z|NXLwuKw%x2J?2Qg_ZhGY*yuFmvR3sGWu7CT8t0stVN_hwp-}Dxn7rCH5pi!->z;S zW5qG(4ra-cBD@UNZfS@Wic$y79$NmUVo|Kf@1o_)GXZy@f?s2Q2hL4!J-iJwe1#eS zyqcUtN+3R%oI@7_yr_(noLL~0lmogAQ-4X}xpN@r@V2Ff+grn7jW#k|?D8Zx)b2CU zqYCKbp_Dv?aa+2dVB9eOSg`&@wqdY=zsN}3v*1K`1%=5)mP{Wn4{3x)J6U%J;B(Z1U@ix1b1qaz8+KKZO2%m_+81 zQV6E#A81*JWk-%IHn5%!8-X+nMaCKJGoW_)IvP4^-tm9`?%V%$_D}!z_J?n7!N&nVd)Xq6s()!nu0ojYYKjbYr-US!NPnP zjtm2~aZSO_a802>-bl>e7Pcer1W>IVGO&?%0wVrAJvJfAhaI>mgfY`k@Li^#5X2l@ zq@8T%^{dT$~`Hx}-U){#IfBtmRzlT{EMwIH#hCt>E_&N)Rhi%44x9#7GGy zq=AxRgcvDNc&koUO`L zq6T6G)Nm~ShH=}-GDQ?P5KEurCb2}|mPU3DJrvbfWN}fTPn5bix5Vk`n$HLQADWsb{I_?!|2f=hzCpSXdY5*bIJWxI>}ENnUL- z1zK(*lhiaR89M>F3X;F=K|S0vtP6E)1;3l_p3%DAGum$4Gun0cjLyQL#yd>2FPQFD zO8eP8qv6m!gBNp|oUm(hkUqmNy2eGXDBZ_~A@6azvD^q&QqoUUwMwcUtfbZqW;3u- zS0n#a^Z??86f|D)0+<(60Q0Jos=S;jXuLiiv6Qx1X<8j?g|@E`?i&2F%%I@}VSNQOAq#LR6upY;flDC;$;w}0>^WO*xD;}MrjQFYg#4@DL^P| z=l6+f8tT;J@Kdv_6u-J%{viNZj*K8gL(NEgQ_ub(y54+6e@X}gt>qg z0+r9gn$#qq8zYzZE`&}t6BF4i1Y}*rj^}bcsu2C=@VHP!^=gceDCofaTt|>F$5736}h{5M=sk0 zzIT-Etl%gPlw!M2;zga2IJ>Vz|m^rMzUjcjY^GNS&l4yM51GQI$DfCF)Q(a(1BEHH^74 z9nFqd3RgG3xH0hifnx&Abe17_(x!DMc^LTpz_Ns9xOiMakTxB*iQ5n4NOsevYsTqt z`+%ZPe%3bvy)nlu!7Hjs$#6(gY|G-+nb^rza*v*pICEe&BzLf#t*oE?4WKyD!a=nExYJS zvEs}sttfXWQ`!_X*0So&SfxFBQZYe=W8M5&SLw=Qc{19h&bTJ>0 zXzkaXMSBe#8LJbEwjM3o>piT@hC#b8ihD^1X5sN#mQ0|>xRRZ+vCY~L`}z6w#xH%) zasGTMPnB+VHI5BOQU%6m=reG@K@AEGnIgOtjmGllz$+$;d|UdNotu5x`zvz3h!|~i|cp`$_@x8MVQ@!k|rI9bt`wm z<&a5L$SW>2$DK&L+N9}?05T;MN6}QuPC%hUaO@ClHw0jZfY-P59fKtM32Uz3dRa%C zUSZS@U${~ozHnVF++Dab!}M}=sHFhCa8pX+btG88bOka~qa@)V7~TcB-UCbx-if&V zy6`wFpM|3_J-4%lvx~KI3Cm%GVm-2yR&q;;iUn!cEYNi+*DM&QV~#g^AGR-5;sdV@ zuLTmm-uOtkH5-ImJ0To(Skkh4*mir^vU|9&AhzGb7COR1A8;;JI+F1Go+0H;E!7L^}Q~%yDi#bMmsK; zV?{gHiFT|NGgi*uq4B_SScA}>R9M}*ukoFaTKAP7LE4j!tEav6s3){TDZz?=pegOZ zi+_OUCh4WRRb91GN3H70O%=*ui!wi>46sCCDWet}SwR|Bmm` zv9urC)3aVET|WzrMq)qdkJ68u^h4b#np6Pfcz6B4(zL>U(jTQCnDj%HTn74n)|19= z!dI_Y8T<{3^zNWyQ6*$MRV*sudc~qj&~`?#n2@rKQX_QoO4N~{j)Fy@D;i>FDaCP^ z3e9s$szF{+vcCLEYGwq0AGu33R-q%X>U}ZC-ILth$AaaxtT#C+R4DzKIRS?B(;CxB-()(JzL> zkCIyq8hLa1TX7tiLi@L}njpzyh3HD7aJ8%%uw=1PU65+x{^kDm{OKl2n4b8Lz5U^b zxBqeW-Jiet_J5!Ke(|2-5K@#8TB~XemJAhol!rWQQxhx?-VC0f+bLLRi0$IjHORw zLD*IvOK+)I2nLp>?pg_(aKzXO!6T{=_&LZksRd)iRv~apu7!A^C9hS`wkPC)dqNU7 zDJ@vYqZZ}6-q)VO@`i6u<9EBSy;9!s?OFT|``SaB74J5z(QQ}@&ibsgg;xtt*O9&a zZm;fsdU}6WjDmWj&}tRTN7j(F9h$)l2Qlp=S|}BGa(&)~^oDL!s2puP)7+!*pj3(~^A$b)6CB9n=!Kt4s4D zA{qSB^r^CT_u1tt7s3Ne8&#NVwTZTkt>umHWG)#3GCMGfnox8PVCSG)`O zx{e$VrQRv1Xl0t!2v~b2sAw&YJFMkb9JN*ql0+x_?bc0J(GLlpc4&?Y6rw@gbynqd zFj#C$9M%H2f~FuGosn=FF?YIm^wl|jjH*qrn@+ptwMaj7n=U&HYmJ8_;p2WS;A|Z; z`b2a@{%pjgejuAxvzxYpQ@F3|Oy578ZLxeJ5qY?z=V+Vnw5vIyKfy*3rS`12XXX-nr-iy*b04Lc=s8N>O*arfDzi(I8b^87m)YG>Jw75juq>0 zF&<(|loZFlFNpooNnJ?Zmo;HceP68KI_jt~)Rv0PY5Z$-vch&_g%Klmf>NLSo8@IiLBD=NCU;U7jWNUaYu0BbQgdMhyJd z1om}8-h(5dwXgS%nrP)w;FMvm=W5IVf!Fb`Ot0H%W*}8?07`6#_=;8it4{UL2YXQ% z>_u_GUeplmr3F%v5kEfNKSZ!4%N`fSVMk`EROn>26-sraY>Su*nIweeDLw#Oe z3jm{r05EN+H$nyq>CPQPe63Ze_te0n8t)0kB>_!U$ka5!UK(o~a*B$^dhxkRRhX}i z5#0z-534!JQR!}RwBbgeQO#L-vfR6A?R}b2DC@@P!^T}vovVe?yh2$QLPD?0)t$Dt zIxKMZ7L1~zjHD{m?2Dn$7eg5ed{ibEFmz)X#c!;9iT9;b2D)WoeCd(``hYK;;`uF{LVofKe7u|C z^81@(dC`^&e?$2}G36E_1G~NcJ*c|8wt+^XUZLBCuL8k=yF*Q2p9*yjZK(+sU9Eu$ z7#tf&nT$&z3iQ>GMLQr*scv$l73ywNjAuE1xISM)J-cQqa$%eb7Ne(uVly?^4W6l9 zW*Q7-i-G4op%6__44M4|*MU`ZlOUzg@lKqo#=CZt=Cy1g*&jztQ4#^?fTsbsjTgfe zt)r`IprWc53^B`Q=2n&^CY42EygZT^6iL0}h(XVC?e$2EPml*HuX$$FD}KDmvAIbP zmM#>T{$RoEVEGbCB<`KaGB2&(-2HTR^zAh6AQlt_J4lnFHOCRLdoP1M;Z6w>gs)W_4l*uhx-p_ z>1Aw$wxw^}g@KyCb@V@+`V;Eln5hdC?!fq;ldi`U8ck9Fx+#|rdF#a_A?;sf5+{-T zit->C56Rr*x&8I&?CCxqSTa7Jr^Y0^;#l?L`NQK?IolzW;&PlDBPgCa$yE&_WrVDk zU&@n1XKxWvF7N+-wj7A3vv-T^o4oaXTcz}_wzFw0B{WOUIs-S?pUD7;VYk=N2;O@xR&2RYBN*(d$qt@|#tk>3d(-o!ka>Gm?P3jqDhf z2&Vmbs(k1`<){uK7>tVw)OXS_rG2(vZ6OQ`0_&;`*5qp z$P{_9KHe`3_0_}Kr@Nc$o2yH5q%-%St$+iEPKoDq5gW$yujJ0vtTA(zUU#h~9@aN| z3YTf#Rl59ubFE6IoP~w=EP)G_#K8w*n{Uy($7Tg?$VGd`;<8neZk8w4c;vbFH++wWwD5Hsd zZ?tBg#bCH+F^E2ImBOrN(pWCkfl-CguLrH3gp_led=13}ZIZc(l{wg^^rWduYl9dm z?0JAORaMN^L8wL&SB+}>yvJEB&-)r!ru`h15cMq{~#x?e^B)GFFDDK?$Y5Ty7?#FbTHC12a}>Z-wWNm7iR0d2(EwqONueW`Ky)L z$A_JBHY>AV3Q-SuV^&;?F~lRy7{kB*!Sb(v(B11F3g=?%^Im@~%IohA+%3jE^YwRl z%^BFYn#MM(>2|Fq-bruv6fV=et91FH%(dTq{ezjj{-H)dF-D&BN3Qt@C&S8@JCC9k z^6QVNg>;7r`uazGdh`0*A+n%B=)f~xf2)|6%MRhWjOC6EpY&}@ak4xnjp8H}hRnKW zD^3hioEQs7Do&QZaerG+6elKns!SCp#s+Tc{1J+irHQ%XB>0))B!pIR63X-JIOlN0 zQkVo%pib|xM!(PrjX*swb8W(aBy<5SrgZ0_Y1a4(4_6<`^knxagYHp=1X#dAW*imw zusTx@P4c4Z!EEcm8!u1O`BIteY-P&3o9sB(cUM1=Ht;!1W*mCE4Ua%NKuz;A4mW6Khk_br7Z}HA!+A{gtbL=9$3xx1@o_Il0Q{?_0B%^YhZI~e zQ4>LS1;^?;Bd!CM zkEYG9lwV$5+%EGRXQ1$7*$7v7tEK(d{rC$;D}7gF9j@;mPA~57E>9yo_7%6pco==L zU7SDNf4I3Al2QKYFF&6B_}6dF{`uSg`0B&`-Tl-3-Oa_xSLe4kKiwga!FV&GdrY+G z{eh}2y7diF5_z_97{ND<`47uqx*k*1&dS zXAf78_qV@X#ZiUA$^|A*P}Src%yysW#tJr1kikHQR&?GbHeRK;t*ubIIzxc46>O0E zr5XHg82@FPb9P!mBpusivPh2_>zc&;QyZ%qS0?WkBK4d-hft?!&|5SN~(_;pyYe<-)@)XF>e#*u{298xc8= zKDLYTnHMO}CmY+vbg^AbjqTFj#Ks5wF30euCOT0LcQNs!9A|Hxa^aqFDEcPK**LJL z1lho*nl}llLE(49f5#~gmYWL0O~v-n$3yPFU@q`$nTsMGr#o-Cl~=s}SyTDzdiR#$ zJM#Lr{vX@72tTSq*_*K^{lY!f5@ilxxGRG`Ij{!J?deXoSE5TNHDM~~4fCewqHJSe zZ7xsC@4a&Qx~;8lMO9f?(K+&@;bi_LhSH~3-5cxxw)am=JG1gO{grL-n7!W9Z~38g zJUnnVfhXxSmQ}JT>oTPQUo=}o*!(~0t6$@&{@-SfLRpIPHP>ni`Hm&9Qf<$C`*78T zt}Km3Xt9-gS4)aA-b^fqrfrRFn_X=u-TL0P4YqA}wOuAGZq?=EQ{(|_Yt%Ast1l+< zYbf+*er@^x*v6z^>9PWaDcLfm_PqhChF{mZ~yq0AHMnPoGv9e zxl*{`UKC&c6He_uu{b+p~ZAx3@oh zbN0=5e|`H8-($cmtNnmwwR*TJ8|&P~)0(H{_Wq|&SNJHy=3Ryoq5pQ`0NDN;Al<_B$#<*rcYJh`mB0C}GdV={Ypt1V-goB@4>wm2rytHg zzgzCD=2_*-t=F4U{bt8QfScW$-k+_xE_WJ*Yg^3>pNbSgJs)@4r2IgvI|4EyB>;DkXA5$iupeu zZZ6|j*RRsBZ*jE}NTu=9OOInYk(^tW?Lx3yHUzuH5P;Tt;-_b$-BFk0O!%B!pqh(q zwfarCmUiUD$G~>gL~O>)h`h9)8Dt#bjEXy`PeOKO63^u=Q&;n*ROFVeQL#b9VB6x~`n- z-_PiCT;5N|AepRl&DP*@6|HU5_tQ})f1Bf5S`1ZhIp?|5P5XX=+$e;n71Tx{Ja9nY z$Luv{0pCZU?<3^*5lVeazne@B@!7IXqL%G@Nbfrp_RxJ+#OpQs{p3Dlqe#XorYZ|$5IFHGxLQjr`MEk zFLR$c)BM{Wai7@(_gM$R+UAM+M;P~HkW8=&tnumL?hGrn%$g_A3ma8$#cbRSi0}o? zSjul@AY2Tl)YFWz%7=x*wDn{rHjLA49)c)5UOg3rLaOS6{;jYiKXTvO2rcHK@_R0&@_ud9BpNb7MJe&=jr>;fw zf)mWG7UNY){4SXh0Dk1M*~BXC2%O;3VL7ztx|$}>=i*JU2Pf<>J|`-E$_bKp+2tI2 zP7rq6wHEo0pB~?zUjO~_l!SLnzanViRHs1yZAnCbXw9QPV%eC0_3ZKE)y3ECWRWd} zXbWv9G9+T%=g1Ik8Dxky+sF`Y$qsGoGl{Nz4`_pgw!|Z~VhpWMcSmQ7Zuh4Xf!!U{ z4DBQfE^s2?cP5svla-BkOnQPeM%-VLMiX#y)f+ej9XUC~n{tg)SL&;hhjqAkQ?VsV z+jh8SCoPRZOc&0KK`5N5u6M5U{BSvlki$4U&R8Z| zQJT0a(mFO+kJH^YPTFO9hZswutwmhSnw#Y8zpozdw?nVh**9ezY;Y!rnrYYPR$S@G zAK9>mu1l-vEF10Lp|;ssMdoXjx13pX$2esAob6thtd(|#D|9e@h5~a9YIF;7}edyZEDu`Sc zn%e;M_Jp>`b{ve?6W?%$*(hByBQlOcE-LhV@x*a{aI$y)*-rM(bDL|-Ddaq(QFs2Z zlfCm*s)!Tw?mmJk8~j21@#@!z_>V~o+ahJ|{NcF^&-T)@#7oaj6JplRf@Bh7uXP)b zDVG#>+Ndg+{IWxSX-m=wqy#Oq%Pj3zau_r!ho!n#)fg#s6k*r#=+sgB*uOmG@De_lon9X8T9@%mT&<9E@PYTV@?qv_<-<#PTKNEn zLOS^1C&Q!cjSrn0yN@7SRw)=(cZ|lkmCB-VD~QgKCq$jtQX8YI2EiDULNwf?S*q-+ zAS!SAF+#c?t}cE#yI(d|6S=SX@bo_3`!QAw*@Jje*NxM=XvQM~!jbH02(Uof4oaFDh{*4exJUn^<;IpmZdkesCV?G09tGPRIBSad^> zoCD}yYCeXO;f+Im5l9{x7{|cB5kT+zFL)zBstt!%ka~1@g{YzKJ&Qo<4To3bwj5p! z>p@x4V?xd2^aUQ2AnkZ%LByU@4@!{sum`2t;~-@P>p@vEPeRhC5(kqswfz>Yn_f?Ux%fR++a zoEkCKYjr80SbuiFK*>O|X_c>xM>{CB!;6x{DBpW9`X#YxavDzhi@L6o_9y*yU0$?mt{S~4!3f@q5=^@wp=S%s_9a8SI5=Dn zpalzz+11h!UX)<)ZZdXP+edg&0>**?<94-OCJY!PEEtM#g=!&t881rU!h6AxlnhMR z_M&VuA#&beHcY%IOAbV^;w8N(!7?y#uzfCQXdV;Z8PdX$gw=|LGDW>8A;w#qdr^Yz z-6SDe7txCntQkJ*Vg?6mJKiXL#Iv+o{D>DN6tU34mv~Vw)D3E3zr@ zn!mWQ$TWjFGv%B`$A8k-}Ce1NpvY_;(%}Zu(*A`FwXM6q$Qgt1pfuT zq!z@vg6m8BF6gUsJ@X|6M|?>g^;TH6*A8D&rzXCnCCw*<@WsBQu2J0ue=@t|P`vSz zIA-XM?*)AZeKed+pFz(VMZ6fEK|ir`K%jbiFPIbJg+Ay@>V=v5lDbV_Qg_Igv?Mo$ zWcO}RM~Owi6B*c7BGBBT5V$N`OI`e|3F-(UzzR)*5X^u&f@pEZJE~fVe-qRZ1SUTg zgobkn^u7uCzM&9m2yn>v%9&^06io|Xgt|!!TP}Iu{5$OTy>bV9uiPHrt8$0*n--w~ z!XEE?(%w~GaxP0AxpOba>&Qp@oW$>z z839r(9XkTsjR4pYAnHX@&wC%O7sXY;%fO7Uy59R_+9bJX)hjju=8+8fuoMDv^8K~Qo=S`~~tpi>wW-@ejo%ULH#IEvy*QJNSN6hQ$BbM4C z#MV=!B=1fGhuo%M>NZuf_j=8(vTjyccTP*`BknXdQMT`#1H9&(mOSRk_IgZv@1u$b5Q5}^z+Z2RscI`AWx{@Snl*oFwpcTrk# zjN6pY=`%cPdc5mim#p7h)`J`>2UE8xn7T~?<2F@NUi&7r%f^C+JqtQ!)$q>0$b#Z& z0oF;)11@;dytZyr9%#N3pLDGa2*$^GLna|9Slj&&W5VFYnG~h{W?5@t36_%uJ9nG% zqPaA{J=blj;R#`cz+~I- zemmQS58_zyp!`rA8szx4b!+`ke?0rwzkL7w^2q&5dB_42{l^E{**krxx8hG1AMYbd z7NGwrFNq&Kw&2S=w!E!ScMrDtHyrlZf{Di#6n)Q{GogBH`N&$~)8^sOjZHkZyl*Zd ze_$o+OtMDb+xz?Fjyk`-O1V$Irlby2-u>`q@Q0~BIj>$---^e_`=xl6FqJUkxgJfb zb!b`|VxiHggXaER{#Hc)5-alhm*tCQ^m5rG9%3g5qT}Pu#oFHc%ZF3bcu&L+A8sBO zw)*~dVb^0G&f59A^W`VZ#I1y89BdM8ye2_3%zdP35<)A+60AZc5NKkQMuxjO-)1nq%>p%_uVu6OTnQ%pajetYwUv+NX*7a936>aMnX0&^F3eI%RrU`m7I(`vKT>|P0eG#P)QQYvjN_N#(PS4 zq25B&E=d6kTM;#+SPDihUeK=N?ScmK8pWYUd(m|?bDMTi^2Zf`ynHg1*4vw3;(Y^@ z?I2gnTKMBKfj7VAy`@VQ^I*lk8B$oDRm}zrvl1+$nhmz+YeTc;o6&u^dOBYQ7sgjQ zI^e!yN)|GDO-QH#LxSZrA+bs;4hGAwJ)$3jbsS}Opv-ZUJ>CBtQ@k}{qNk*lqJ=hK zhi|*#`|X9aS(opyeBjB&NpnoF+mK@_2TN}dCpenZSq$nE8aYCa4Hp#Mkc!?UsX2NZ1ii@?&nlJm^2c2vj^BA0W;p-@1rDx<0tXONy4Kqv zm}AJoI!G1BjT;3x<$3_BTo1qkW&;Lj4#4E744?->&6H5QE9^0pmP&+O~{u>|{;`EISeo!vL60G!`9ctzv%c(-qQ3WfZ-`$A(`_s1&B2j3^H37)R` z-_JikE`#KD`gv65#AM{d+B0m?tVaF`1vdpRq>xdb7hx1o5k`ehgi(Gb!X$h8L50lC z#aX26>vp4+wyB+JDS9Z1LWdUP_6`17)FzUFQH3aN{k~^ktJE5ey(~Lii#Tk7vJbUD z)N0S}i7G!QSIE4x)`1uSjT|mcm>tu(Jo4&*PUnONN%ofW_C=ALeOiXfF;;#M@Al?iJ6^ zBX%jWMq+eLP8U^nO-^Mb&px5Ucu+LHYRCat2mXqRGVAMVgc@J0mWf-pNhw@-I*uJh z2}H3gq`DPSjsMRcyxcY8k-m4kmF-Kpl0 zl(7S{T1NCbi5ZeIB;&x-!>7B8Mu9j^?Prlz=8=g5J1P6Y$d`X`s7?gu z-}KU6RM8-BVm75c(@T3MOM9l&XQe&UNqc50?U~XQA4V(~=oXhr*%l0AM^H3SR4}{} zW!UWa0*e`?% z@C!lH`zP3a-Q!vY$9G?b2OQC^Cwiw84OpI+q5~?jg&2v3hG=r>F2#2$T}tzu(j_*7 z-!-F07m5(Q{IF9$8?e0PdqpN%^ns7#Kq}jdQM?M#uv79Y6+GWR+ABohsP-Mza_566 zaWbW3yDh^?Y+*-s!|fNx0W3}u3xynkG6bYT9yl+inbFdwCDu!!Px3JE`+=2l&2Sag z0n(<-ZAz4bq#xRpO`EbAr$j4jmrx<7kQ)VJl98boK2PKPFL$FmB!ISMi!>?7qZEgZ zkJ9o{&L5@aD^(c8;wQOHEWrTGQ@!R3%WMT|drV~{iv&)q|^eDxO^T`|M zJBwt^tma>~jUB92yvU@sFuxKF^@abTmdv${Xjwj6c$U@eXW?F+KA)XmTwF!LI`KBK z&0~1Hcb}JHSs@x(oKJTTSLYY+&m%(V)!gn|2yic?m(UZ_s_smyx;L%rscBV*mjH@r zzr*Cd+Cm?nPK`u;gA^p@JP>!xG330xBc##&f{Q3t1b z?Fp1}5{ft0$0BS#;Z&6nBS**TSb25=)7L)oGXq}fd|j7HeP)Q*^$8i7qkne6vX^Db zXH%9{s}}6Ca*jrbg)odnz+u?OiZZ-ePR_6Ee#>3OaF?9DF9pV++g45~!RHC|Ue7)6;SMg3G~zxixWTIfM020QOS zEm#b^g{|I)OR=WAJguHxo?Uj|Shrk3g3Ioks*oq1%kCTN;^!e(e5`_y%jMsJ83FQy zoJ&NiLPp>uHv)&8ic>A5Iu@^-heywI3_`3z#^*U_tXLVpQ)jGLA#MrmSg}$w#uxI# zT3Ui}HoR+k@*KeqI)VeEs*aWO_plX_HIn%z|#Rv~&ZW!LSjZ0m;=OKqb18(-v^h9E}T^eCr<;QZaEhB#^t0<~p`yyc}Cr-B3t|@2+ zRR40JR8dWZ395ftXcX9#b6b%bm+vt6%B4!3(5;-`3b3_&4_rHbXa_`pEycL*bSL0} z0Xh2f#um~clSagt{~`v6TV%pgM==)(*3k zT^Lm~KZ<)IlpOsoV$q4;g^{rBcVU#C_+2bt%1G?SNE{uB-SoRKN=*DNmgltE;*CQ6 zh_ss~)VM2JNaa$VyRc$2_#L{JB%gX!GpwT{rx&y^t7l4+R_+Jsg|C?~*yT zeigJNC_=NBGrtR?!eNSYL8RBK;|{IYEG2j$%XA^P7MG~5KuOVCX5+{*Nv`|q*QZW; zJnNi)c&bMhXO>G+$<9ZdIk^R4*J`!T@wG6zR5nBaNpQHc{6Wwgw?AQ`$T2%CNvMw??MAXh;tN{FNG z8zop2OtEmPqNV=AkimNu~j_m;(a?OG`@acPeA58XF-MVIM; zebZAY^!)T7?_aS=j}6Z)x{M&P9OHLk^aQzKH1vKKM!PM)i>^lg38^;zg;Zu{BI+1w zv{beibgt5v=d3m*EMu7LVW?unqyAc3q8(J#kcTa6YGQo62v8dCqj##FeAZ3j}bG+Y$ zLPCuk{4Umus`y*mvMXEvcrG^B&iZ$kb7mFAx2EU8gWL;6aQ^YLgc@fhVA)Qm0o7F~C z)HKp|+;P@;OWO(IW{|UuGIPI+MRex;E==KuZFnK=wiCQ|+jf95Cp(=))baA#?PR`b z{VtNmqw%|l_wN_@U64mcMpOmv2d7^C!J#@4oPXC#dr?J$9Jkw)_FOORxh(C~xn`w3 z*GYSBD(yLBe%%Dh6(yTScuQwt-5&V; zzNub4yazDiwB{spF(-WOF(&S*a3=|m`rh&l2-pZo|@LUyxzkK!{@1_-5*Lp zHrG-`S=(VAM@#`eG0m27aNYvB90sLccGg0{yQ_!T$k*L?iEVrhSg5TqTd<1dyB**V zsZtMz@c!AOi=B|s`7S`^j`=D-m)Qy&oF&3JXD0Hhu1QLv$!h#xn(?TM0v+kc2Cdr{ z&{EY3uXhc=H2ohgZI3GLjw%gDmG(!K4kWMC!hnfq#KvB#jVYdETfL&XF+~0Uy?tws zB)5^^_xTmGI4qz6+Jhv6PhqjZtSs*dCwmvN)^~@)q0rM^GwM@M_iR5bjSc_zOEMWu zMr1H6tGc}UAWT>C6+to>?*~bO(fdps5$hunL0}9E2blbVxu13^bYphKW~&f%uL>8?}48zbkGtA4e+HlmX9Q za*;`s$~LEMdw+lZW&8{INz)7ALwuV?B$oEoC^^K|umC@!XrfV_<2J_={k z`(Y$0I6D|M=r&5oudTBqH9@!0l#9J(7Rr4%wL zg*Pnoa_Y4C0i821tG3S@oc?4Zn+h#A3p&JAmS}nbR!Tv9Re@`nuC&4>{BbxJ{84qT zF`kO34}b+5!HSxI6_o%MoDD3qN}a|ABK64~8|pLuO{q`nC{rIO57|t8rnZIpfR2HW zzahX#PU>OO z?6By`lr+wY4I*n0N&`Ic@Df8f-Z>Bq;Q+HCd_K0Vqh>;RvJdSquaj4~Q;ScNJtL5j?K-T}0^IipblR4%({4}077)oL?gZ&`^a(_!Dh{E~}$Qup|O|!wQKFjc^ z(EH$Vw6F{!QfUqhBvPqSOR2QUUQFahk5q{4Io>tU zD-R1uj*zJfAweL8Ttk(_U>R}^=>^2Q$BK>8he0Yfn!C^y1aSp*5E^m~(1u)t5gtC6 zBX+^ia8!VD*A3YbFzgy7^G|U*ZK|AgZrJ$C$bo%MmrRpDQGn&`oLYWsPAC8ri(DJ8&qc?zVamOHh8rOBco>#=DIs_6#Dl4F4l zwbI`BRS~BcaD{!b5gV*qPywjL6`W{6P37s!_hnZ0)QR15aAvW+H`n9*H&0*2oirQv zzHN>h?<~`vq=|o%f}+5u+)Tla{Jss9H*`)~tX(YDE!Okl^3%=jm)&#^gzx)bFR#X@ z!r6Jj^{2X8!5{^0aw`A_bP0ZWT}GK^94>6Y6xC``z`$0Yqc)Yye z6%U@1{kAMHTXXR>6X5THS-T*dQoVt^bPCG4|3)sc+Bi^v7yUN?Q*wZp*g0>+?G-5L z5!;JRE4*&ookmVqtTm8^!S7+)ct`_$l*hxPH75gUxzee4LF!FV6NV+FDDG2k$^1Qj zz8R&0@;nUMciSEzjG`177hk=JCNO}|^av%ZV{zrtw8Bqc- zOu#ep3vTcgFhZmo7#`^c#tITr)>4n_bsaHh6o^{rYV!)7C}0>y6wG>*6PThxz!aHa zWU6lP@*9b&n*~)jQ2=>9Ion{K+gHI&BhZmZ< zlZJx*K!jk^1dFxyQt~4jzuK&=p=zwWV^rTLDnXje+%Zx|j;Z1UW;K2{c2K2|^HsNmZV@nOjXT$7gOeVc|<^l2x=_ znW2BGUK-M{$lO{>BbzKjP(OvTe`GaTlK6XMZzbtkbH1PEPjB8Ff~m>m73%Zt;T+jp z1I^xAYXY0h+VV%t1WU5FhB18u<;`bUW^XMeez~iYnaiYWgCx}i-#NREo!v@$ zFQ4u|-CQlyrr-VHn;*XY{kMPk@!j{k-@p6ef9(F{-48!}_w5h6ci;T@-JibQee-Ys z@rNH@f4aZBf4aZBxw?3Ld3*Em?sXkM3L4f0Lv9*|d@_!{eYhXRM=UdMf?xeU5wcXq zMet3)J<@8Mp9W7UIZq(fQ~w^A2EhqPp7GrBIuE%c=(**}o;)LvKt zD%^DtSK!$SqPPMC0|uhc%~>ea{8cRyyc!s)=wZZIOv4h{8xZw(1{H<|XaJhg?xM_& z4VI*_abM3t{qx+|$8jecXq{|8P=pz94QN4fu$ig{w+=QyMVIWKJ@qG7ph};g9A$Uef8)K;Y$rvr24Rn_`29~EY`PA3%Mpyx!PGiLt7`6f@t^kp1 zJUyL>x13L>3Bvm3a7tsMus-zb68XN=g{-gP`V><~p-u2=Xapv&c5QEnI;<>7D(=bFWs;C13h=4Csz zNb+iuMWIRZYMkatUU8HOBy0vkTGs4ONb|QEXT*ka+0gbzoH}4L>hqX$GfW2<8+h8l z6$*%kA>#sTfK%X2af}SPV(fKzSv_+EEI$6mRlc0s=8PXogUZ!w){9#P-R0fL$bMB>e&)Bo&Z(?@ zMG8JUTXP|$GI~*Tq%^1;G*K=;k%lH*Ph?gqlalAiTu(eX>F7Y>W=!lbsZ2*`n8#V_ z*j-yZL@mGh{@ow{xcl9A-+uqwkw$+1-5cwy}zgy-5p5x*HbSJY}*h{#z8%Q7h2l45!6j}0tqU`hkRX4|IJ?vx6! zgrHB#v%)b)z1ApSpDEBRj?z%uA_W(fD_0B}Ur3a%Oh?otQd7(qbf_Mrn z2v2t&pn1u_M1N>))5%+|%|v4F1`}yySL)dDt}N$@t<6NrR#+*nwZ5WhkfK6!*nVj- zXFyq?CBrQAYS&oMgpTn&F4FHvVubBSdL4^42qwyM0L`w0W*RMNVHszTI`{KCLqi|? zvzyNBz-G77>}DlZw56fEwuIe|Bav$f?xKfl7Jb=dGVh^2sRDm~{yes|%l)Za_cbn1 ziW9R*Ui!!0)vj6!n_PRgtOGsItXa5@=l5cYkGuKsW%pqOw6R23m|e(+U;XcX_suZ> zr&m6`!3ovU<;+e(PSy0ZuG{J3d0e;0k@TU*+nV*q+Zy@twv)|ZKADC+-q!RUZ);9| zycK!8t?`|;IkvXI*XFxxJKN)JmyfqK&EswPdyci` z@kZ9&TK0I`LM3Q=9cwo|-f`RGoj8M6YdioFh(QzzBNYm*l-O<-`Ybw){-$zAk`JN9 zympp)fQHhgdNEoxY?}_pQ&J5hi>WBAqBV?cy3fCW}_da)@+0R~J5Z>eszw9$6nSnb&iPs=~G<(oaiOVZk3G_cp02>>^dg1{MmL>2CJp znVk($W@kfSGRtrlF@79Kb@=CjO{lq$q`CrJI4%7JcZ^AqPVGP2m9GeZ+M2-!I z<=CKzqo@sCIW}yQW5cQ(>+uNqco@xtjAmB2)&@zAEu}I#a;!hBtneLWh4*ZBNsdhc zEqysQP&qb~hcHk%Hf)t+Z4<6}i1^t-_vKjBlv*+0i4A=@Ho94k4O`^cq^CkTR!qA- z7vr%}5)z+hu3#iCNFZ$B87>#HE&5`}OFn_lphE?k0)dbPQe zX0WSW7&8^i8H$vdiZe5H{pD_)A?2tUkq`Xm9LHz}vns}*W3?4+TbAW}wRT;Mv0RL? zq8NkbBx?mR#x`P%8@5e{AoMKG4pjt96##l3p zG1dg~xr#Af5@Y;AjPda_baD3LkQg(*mGzP1VoZ3s7!&+48o)-32}g@D;|p4ODSeom zfetsLDa-23SrnQuIW$TW8a5%zq>+93I{f>|VvL7bjPdTxRz8+KnRsrp6>AFk9!W%V zL!v5t91^{_NCRqPI4R(JUT#^_v`RbJx=MV(%QD@tunz41^Q)HQnR$~p+h(Z0)G1V9 z6Vp)tr+|FHS&hmWx?ByHEf={!Cz*I%;%vKd>Mq+bf31wPOGb>Rhvz+hUIgm60Zxs# zcS7#MJcVrhcws8PJhqb%VtNR9KcitLl{X(o`nSJ(Yw2(M+sCw#BeiTA)LlI}k*9LR zsNsgNID(ma-tB+ceR#P4G=Fv~NSdicbQ#60w_yI3N$j$0sh(x6h<*zb4(NXGjCTp2f`s6+IbPpA*3TIB4O^Ke; zKrK5lu26vAoDF`vnq|(ZMYgishe?!9OrYKZAGQMTDez7JKAa8sL#h?+WUE6pmAa01 zcN)4Cr5*R~c3tmor{O$)PEN~aT&IDp&GNOG?%Ld$Or=gQQ#Cm~yE(gTXJ}2O8DnTF zby`T);xtM2rJYz6+$D<+F_k)?9)_-@dv}=n+yNE0983(1(Fpa?nM_Unm?nmS5!aj4(qO6M|bU*?%HwPwR1iFunW@K z91T8jtKPzpom5->u(R=ye%RSS6bsJvoG6`*8~AFg*8H5Ts(w!Hu&0shcp5oI2%Hi$ zw9c&QhuvW#fa@3moMN+UX?DG$A9juua&{$Oh;yX2scX{b9FTd{c0VVpx_(aM)**M} zqyR0K6VLRn_ACYD+BF;2Q6&Q>`^Gru7^azTjB`ET7&j4^mJFx1l??N8>@In4Hz|6Z z7i!SDL|Kqd&)d}IKbWgxr?c**54l`+vbw)oqqVpZVwNk%0)iZ@>LMM+^PnQuffPkG zj)I?;QB*F4dLVNFe%o}&MTse}9MsP=1(r*Ga`!FDn?y$pQ`h@P4nUA$VJwiso(`^K3^XGy6VU{gDF75Re{UW z@CH|^oHzYM7#1lCe zsRdq4YtN{NjZ}DuToLP<;$|+n+z9?8&bp-{)>)ni%UO3Cy7)VOP!X%DrYgVVjUqNZ znJ-ktIuzIb3;apOrwW-C>khIF*2`>zb(A->;Y|J{w&TEJnFEU(7&B^P_w}@=Dq^jl z6|ru3vz1|--^a(t`|&5#RfXY9H4TH3%K(Id3cNwFG5|sK#EFn~FsBrq$-GD%U#%CN zv3h9nGcgu;v%C~k>yj8SONtGr5=g0|S}8Vrri(?alk0sm`TNW9Cl%`ENKBIReZG6_ zqBnPO*o835q2%cb17Vg!WAPU1FxfW0i(Ki*8rOn49oC5(ixu7GJg3pg#*;h&;dq(x zBz5fFS?>=gm^gSi7f)0B@HD5^aU;utQ(J$;qm#9cT)+s~elSeWj>hkHn_@61l4E3qd!ZN%$7&K2}|JSWG2WTj=AfUJ!xEkjpn8D^#B3l)PwFDqaN4V9Y>Q|5|B zBFz{>ZaHYd7!(q#*C+-u7%MQLRBE$<( zTUNNTsgZ1rnqkdpH>@_jQi>L5IC?Uf}vUNyUeu({3xk?JX8C4E$=<1;P=`}keLN!R)TEGz}rS^ zbU~|4D{M|&zG2H>PkiUGX0F5bK?c|3cfq#e3uW_~!5k%+r@I&qLtGjnyf7ShX+bPj z?a^-Ir^NSjzBiu?H@K?+!ofj}zXwCVdYByKJZ1;-ASIGX{mAA(kCpIX58d4B{o~c! zOayN}d>Qdn`RB;&QDO4#bAhA_c1=iq9gb217*++AUZ=WW{x}i>^2tLDrUxP8q6h8+ z=OK3Cny3S)W5B{b2$dODD2kZC$g>1S-iWz#J?cii5pw5xqdA}kx_}m10s0t7Yo`jT z5usu9(X7|__Qp^GW1I}V#qUCnD{ox6UxA{)cTtdu2f#51C|xS};W&C@q6`=w4$JBf zcrzDI@{^*sM{g{9#(dGzdQ9o$#YzsTAK5Ewdh`a>y?uIvBpT6U?KbpO2<3f8A;H_a z?~gOv?XBa--Y!Z>kIOQ;Q+e9vqFQ|K1-7Wyqx^(WpPpxiDkpp=&x~hzW<1X`etYe8|U66t> z943u*K`)JaDPj$cL;-{qps7pD(C=7GoeN^%g$t--3y#^TQvN_aR6ADif}JWfE>sC$ywSW|ND9%wJJ917BBxJ87A?>6p~Um8X-~QN(Q& zcPO$QilQ^$*crd`1j&wNx^bCgHO{0dn7}xt#(f%8FzI#naj30>U@41p2#AXtMNE9+ z22sQuhr#cXqC8GESwGZKD0l3OrrXh^{eI93IXegQFU6TEI?vK~OP{LB!Jp~j7-Zd{ zA816SA0pRD^mKFW{B0~>eX=m2Z!oJszQTH zdr3uuyop+s_7s=)RFU>n#f~WLDJJc86~|+LY|`Nhm}1yV)t0^Tz4YGmxmL2=y*TXn z0#7JKCady(8(Cvqu9aD1OsMJIAb?ZC)*RN`@J?-;6_M#=ISZ3Z`s^S^A{)G$Eiv9{ zN`ItSL}_|FHcc!dnI4hi1ZA{$mIJ*}imvTtDcaTVaS60*fM!J3Z&bSAPI_7C;_G;V z{@HuQfc6{pvq<{o3R4~{OnJXZ#q9lDV8(mHfOZ=tzuLje^W#zQ(seEMWE!Y9K8RRR z*9TeY>JcqLEx~RGaiA6Jd>{pUeW`%wG1}FK1NQ}*f7c}#GG>W1^;j6ehXXrfo8?xp zN#MUP44Ow?(}zWc(A=hu)2tIs<~{_*)D?|pAeIOp0vA5t=JGApz###&ZHsg?^P}yf z6z0-eJ`QV-Qe+APU)WHOadSROY0gtW@+ft45sv+_iRp-{z(iG{j+>Wq5%NbV+CK7@ z_%0$@gVplOy0Js_SEw>6bDl~r6fbn13WGU@$7`IY^ul?nZ;`J6*fY8C46ftCLxq7b zcxL_`dKqKF5YFMkGx!b85VEtKsrgduVSjkr@rSp-T+1x?^y&r11S_Vcp*2v!n8V>3 zwiB*lSh$Ae;Tm@6g+y2_u8mTOASwHrkO-@3NJOyiP)J0umb^Z}_L9j2>$Z5fnYb1b zVFDfjb2w>@=_IW&RKyB42tf%Ztc66F!*MUB6Zc}+4YX03-K}|fWj=fM^0LJt!4l0y zaKqM+2&=b;L|EvCL>Sa_1Sfhd<<#`Ot3CT9C5C;=I;#JX9Qu-1K`_m$W&xi z$Ze|wisMu>@!m~HL~sJ97!ny=ghYh4;wkZ5w6-4-VdGjzgsrY)Qnu>sk3`7AYDVZZ z2n~q{AeHV2STQBQG8;@tx+-+5T93e(r$YxEF#;oC1V#WyLLx$nzL-NI0(fCHvqmyN z*tQzHd=MoSX#kwh44cNo>5W+2tp;-kqn9BHA=M~HY_Er4)cFuwatKDi5R4#&U<5Oz zbqNZ$#L%J=p%~5s)CM#$OemJW5gcs5+^$O0ML+{$XreA$L3|q$5ojLX(xyqo8(7dq zFi0i|*BY!k;Nx%n5k6aoTHwXB`g|b~T2r@4$3r55Y8WuB#gK?#VX5d1mYb``W~ZTx zzvBl(BCM{jiDF#6jW6cvo%*i}iLg+amf~ShONL_%V@8v# z+<86qsUZ=HM3 zafoKZEXSe|im_#uQ>)dGhyVveB7*6JMA&LF_v$RCaU4ia?if4`w+@~qcMQH)*CcrJ zcL|A@m2}OiO$$5f)Yc#IUMtD@AZ9CJqc9qecabW_4Yn6+d)G9K%a8~=dk%!0;;ysN zMI;&5CsXmXZbB{;%Ue7s)gu=Qgr>itZSl-2AqniDpr15o{JJ!A6sP_l-|hbN-M9a9 z^5nU}@{BGhOv?M!yO4kJHrp>Xr#7vhYc=D8^2lm>cW4NPf( zxY3F>n9|3mkqJR)T$rCO|NJ)X_xp#j+jv;w;>(o3D|o?Y-_Am@NV}ZivmadS`Rq3V zys~G$8+tzbu1bY|SXqgqG=Et4*|)yuvu|DFv+t1cjl;SnDg;a1@!}v_q9Qs1#DT@H z#6c~6_TwP zeD<9^3|ei9u!$iDX}NUy>z3w-k0WlBwlcVQh^4Tns3%KvRGz}@x<32P9fr6xtnm8d zF0CAW5Hb27YGyEtIjd9o2!n8N>S+dMFpDr5%p!V+MX@e$>PI%GTcRwo5@o{8W$s?C zGI)W7iuuX+AyD&U2=S25z6+}yb*~fd7ntKn2*@W7RcsN2kf#VdEPP9FzxTs2kk(EJsu+QgR!^WYdY!v!1 zh_$dI>g1v^0)Z*@Vk0dq7mZo>+4t%g1e7ine0vJnqtMz-`OsUwlzOq$3Z zy)o<=i$#q%j#*lW#hfE6<{WJ=iB?2?WS`z3iAMBTy$wAGp_TXD;=WrW`0Pgu{McI~ z`0R(FXZ81H;j`~y)n}jfC_hzo0h~vAjvYsc$Q&UeFI*72b!%hxx;@rsKOeL@wms5? z67-vc=LY|*DD;xptYG1@?{pP-02dOUF*mU4qDv>{R&iMP?1yF{(On29 z=8(_64cuqnS9go-A=Y@zw=YWYUb3BeM{Q?b%GVWY?gPK9(-8bzry*qDFTMgaH3jJv zNL|PZf|#Q#pr2Kk3-1&oNiMuoef9&b7=vw^X#6=S;CP>XsDQeq&weIUv(J7AzQaDD zK8v|`h2UlWDo8&2-mm%WJ5PM}edXz*#E#;EqPRnm?NHRB&8_B<$ds-1*-t%)A}<=^ zvma7)OV?*VL@Stb;+!ok#El|mZ7+(L0W$~(QIlJ$ump6B43TliMHM?Pm+W4QOP_tG zR($pyNIv_%a>Ii;)59^ynP}obGttDsah*gj6HUx^1>&uoshI7I?aG~8>MIz1msA8SWixNDxyF)&eqXc z2J}XyOU0?Iba8cgQ35(Jp#4VuEZ#pkQXpcaK+L8p26UW(_Ox<*JP^MH z;-%~A4TpN;gNQ!+Q4SS|7%C7mTS&ofoZzGP4D3jZly>54B9?lJVg0@|{`(RA{A1=G z=P}*HOhrt56vKg?(apc{j0KWkE*1tYBCi>PS%Te+8JcwlB)q{gwxDP<14&&PgYEe2 z2X#mQZQCLp&HQNlD1|wYEC#>!C^wH|GulNVUPG_V7NZKiOD3@Qjcs95rr)EC9}@uMJ; z-p~e?cgSO*;8e41O9Ou@eXNk%p;&cti(dRqe+(DIP#Hr2g6KP|T#^3poEt?w? zz9vC@QNX|kjy15QK?T9H22dK{-l)JDxYD3C2B&8Aa9=(=+}`}Wf16~@{pI!k;jJ62 z^fhw=E=7*x6)3bmpc9t%f;Jh3WL_p0Yj&;5VWZQh=k!T6pTgWrxwol&as8G{LYHp& z8#LeI+z<5IRG+whi%q}$t#Jp7bH5MyTUAz%X9VVN&b&?Kh3mH*O^aws(!$$Zw(V`I zLsT2(qR$O3r*yZOn58ms*iKv4uBc8@L8{s&NeykA$Imynw`D91O*?lX?jO3OX&=_I z^p4--rYyZ_pvK)iodTYvH;r|kEWP9HTq%c52fez#d%VBhkEr>$d;C0daMyLkVR&=i zdW7SUYMBccAKc*b}A0%$0w<`g}jK<89rk z^3(NwIx8bRf3!}n6_ZM>J}zJ*%%c(3f#G8-&X-=c^5|Ft8#n?aK%xd$v>}PI7&Fg@}&&dFXpA$DXw#;v_ zcs>?A@%Rt=oD5(~1HcBJH7G0_7{VWcUvOr~(;r~jkmBR<%WAt>#-6xHgvW7S&gzTO z3tND+l}^*GbVk}rhd{e2Gr_!-j-D1w3o!o+;py1Nkw4m)9C0&-yzKIc}&o9mqZImKO<#X9UDM z!Qz=Z<9A>8JexCf4+?u&Zo2nJZ~DZIRM_JR>|yA^jvE$4!8I_!RkZe|&iH+nTnp?$ zQ`obPj_v!D2kxkSpSUfAeM$hrV6QW}4(u3DJp@s>4UWMs3%3F9&6J0OK^BhQ)rnU` z$l|a98B5%P$REo4G`*lBtQP#h1_y2ahOUYG0}D*uP8mg z{7O4v1s*?oaRrX8Ac!ldgOH+-srfj2Rcyf^tgpt&kKd^#S7~)o`Vl2klW)D*;z{Im zO|c76ha~m*nhdW+E!3ofnEZU);1^A@2Il9RG+@fy+3$%5(1EZSsFQS3f*<98ZibU` zyLuNyMug=c9AAWfEzjxpL;kV!Zuifw7{qe`$zrXwO zzmI?a>D~9={r26DsBTa$F1Ox=c_u%IuN)OLl$TOeq|W%ANpcyd2(1^dm}gha8+i)6 zV_7a}%@&G=x{iOlMGM1Pcu66w;zgMOn*~9%SH9?GJ)RX$0}+**#Bqi4mkKlxQF)vQ zZ*5@rE)@N+59DG5)xQ|1Qrvv`Xg9nRfp1{0l7t@xkBqzb_s@6NkF8EForh{MQ~_1k z!Spz!fO{K6ue#io>|YSr36*pbvW+``ZEYOcYh@W(zIa$dSXf+=v8r8}r+=D5yk4un z{ps@aenft($dB^#ff$UN?r4A=DIuNC` zL>E({Hgvzu;r*UO4HZt?aO{mcZWtGvSB^y5Y!p;9%yrkbL6U5Gf{He9+-0r5)>T`< zPey0^?HVPUeLJ%A-60%RM~}vzkXe3fUXtwn_v?KlX!je9}K0elU9v}3;&{m`smeC3udgs~tW5m@2 z`3PEN+HG8UZJfwdTI!>!oy=W0+-Ii+3hNe5GEVomD!&vm;~`QV(hETq{SVUWDKzW6 zq{a{*B*9MRB`b+`PJ(_;t)-n`yf1U%^ZKXmWQYCA4x)IN4n%EF!M614G zR{bVTPGfCDPEpY;IiYl!73Nde2U`Iu{f!e>z&2+tZa`LmYR;J_E3^C7-e&}bvT2My zR#YgnKoVtTg|e-qXs*k(Oxrt$V@URv>ZflFRiTzh6NQl`$}&HCTN+s6Mxd;f4_2Z0 z@d(O+UGPj<$F$OFX6KakjI6W=&T`q@7UsCdL0CyZPyMLPap;**ETYNDDMwRRvMo*v zT32^4R4{d1L!pfP>KxB7Tz~)iSYEW{!oQ}BJ#@K+#K5la|LkV{^}-?i<5f!K{dxCz z`C54AbQVMR*cu6w!IJvNyB?OMlI-&@Pt=Ya8Ki&MA3Y z&N$az9ngLSQUS`;h~Z?RU;;(Mz*79!wBX7JwXFqL5-nO1Eyz^3)Kkfgr1-FmVj(^ZWF2;DEyjm| zW{0KZ4F=R-fHtfFlm>Oim*i10ILI=OQX09&49>^4p~)HLjYAfM#ixlB+M(=E-7hR% zAeH-02jPNUimJ7Osl+x8KaDr?2>%xcRIBkwX3*Q>kxUBqZt4~c!y+EZ4Ejv*NM?YS z$0Ln{oHZV4L-V6rYZ~ih2E%KWe15ne&&z)I@O(Eu##aybPnVBBKkoK_9wmwVR(@6c z+86Y7FX-z}>r1hd+CDyA-`>0*kKL!w?A@Qc){9jibaL5{$Yq02??u;=iY9d-v|mT* zJ*-4Z@b!bl`XUJewelj1_7tFrbH~3W=?I|CVCajSQUlH}G6)<;V>EJ;3^ zno;`I$oow#vkqyS#mT8KdqXkZqVLplJUj2l_HEkN17p`7xc4S(dD@MrfrI)ES{6kz zF%bAs3Lr^c$P`wKQ&@b)EK5e07u8A-U=43!HEY2l3n204^@vzU+<3qizR}k1tC^3c z=dN+%0V{f5fW?Dt1%3;JB?7 z+;Tm{wZ*{VdvU-qdR}n-sjgO#4q-|MmR3%eu)J#N9T|tS8*s%|TNePr39q=3v~<86 zbV1gzLp`06h8>(;VA%CAT%2i)*$!syQsML>D3*b;uB8L4tcr}ei!$hlKrivpQ)Z~e z_WI!^+lx&RUaz*@X(U5l^dtgbzr(iikm!hc!qPDK-3sCWOogsfZ;F~F2G9s-gg2yd z+c3VN7PU)75>qtg`RfXqq6t#Se-+7m5bn*?4O@r;w`T%(=xLh3$E8@;a`w&M6Mzx8 zpjK{n5P6Tlc#i<$CZe}71i`Tp0(WeLU^;u04S*(WIo@si3ZWH&VB{&RJBtC$;5h#6 zWuS5ALy&;>GgCE%MG}2MmAcp`NAx;QBN0$!uVX;3V~AWy49q1MBCK6IjDLj4 zWa|)01EK?l*xT4iqif>koy88gwbAm+r)NExlulQ&6GEI_rrR%OZkJQv@H&a*qoh~J)j(&~ep>U`ZO-ljIb32% zN*n!yzvvx(Z+PumzqJY6HN3dR%B8@^Vi(q7`Zt8c5sxR_-0cXe9$=L?;+`a-W5_Q9f zdQ*Xd2yS@Evqg_-OpRO9n9}KdwUE^uYX+0ZST0*96rzO(t{3=l$LF&E3bhDe2d%wXXDzo>`ce@WCZrV;yKP9bT zvMSZJHzO<*XN}Tou|$-p%T|_DV+Q^1jqrvuv!mgWd`(JNHF~qSOL{IS2;>YS9wx((Y@`2rzX4m@7Elze!%|1?hUem_pJ-=)^eZ9R)k z0;fxT@-&b8|9sxx6{^&4`{Cy9^7iI0mrpnMQ^$E-VQpRb@BerI{!y4B6U1r7kGl`I z$vAia{Pg+xNnXx0?Edrp!_)5hZn|gJ;}0n#@whN)hL2a{_uKvD*zxN5;US@Bx@x8-|q3|dcPaH-CteK<7D8X09-~&*`5iBSNGQv0*`+P)VUr4)jk9hB(MJV>ecmr z+{k?yX}2pP+Fd#aPY)wFj|YUctDm0lejdJh^Lk`wA8-D$fBn~2BSs&-ye+b$;#Svb z*m0@%pLRJ@_E*~r&0}Wm5du4Hh*TN=?s62Ce=QRgBdMA#q;uNyQ)}EO3G?aUDY@<( zJ;JQ65KiUCo5%6J*?qjde?PuC5BK*^XycurHRnU7YLOYH;q69b8UdMhJ2F*^Om_-0 z)r*knCTRWnkf~c_>S_3}5t&{NaNG;?=4_lEMrH6jlj#NiV zw5d~&>RyCYtqREcd`R^asfDJ_^8Nv&YAqoZwjR*Ob1lgVssi8$G;I6r? zIJFW^-FBP?f>VDAPQ%M^S_odF%y=NaMK9XmYniLV6 zY9joNI0Z>?f+Hj+MMbBRWGD4P;R#T9KOhztd%2~jVTqM$I5 za7H;w5kU$k*eXeZBuc>%vXmmi6r3bYsh5dUP#7L_MtMqs^ir9v5|xo8DszNHrHDvn zP7didbdNC{`&VSLt#c>{hYLNMe;eLab6muCgb|RqADe zl`VwNo>8z;USL@5R=LVba+N(ou2Mv>vL^{v>SdCZExeCCqhzImz+Bm_l9iPtD|>`w zrHE){PZF)v%VaC-1;aWv|L}Y_8L4uS&Bv$9r<VMoak;u(?ug}uk=JtAb zb$j{vxchnkrNjukk`{n)t!wD@KgO=>?IhS_gy(s*ETX=Sj{U+mTcEj7j;S81BIA&2G6fdMJ_r+8{O zXoIO-^-35W##DP?T&1|R+zv7VDwB_vcF%$?KN z0wyNEiQUbo%a8k)VgK^>=Hp#)n|1bxE3eOT?zx%r&HY_W}P*N4krlF$0l7o9^`&iL5~NoV{8A@OG-B*I}DM-PmU zctS{Mjk1)utPm1E5JFOehNqNnrxFrBtPv8g&PYg>*l!7mKUR&gnfvP9lX^)eu$mtE zs?-45KKNqeY1w$+b0OGgK Ae*gdg literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_template_capture/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..f19c0663163fd08add7fccae56e8995a2079ed9d GIT binary patch literal 518 zcmV+h0{Q(PiwFP!00002|IJf9j}tKv?ei<#ASDv(k0qC6bJYm}0v!z;P@E!bVo!EA z@!Bif*%K6$`~ZF;zXb2cNfc?I0NmL#^XAQ)=lkeE;f~zietb(_zau}seJAWgKpz-1 z=3KJYyCbR?Sc~3&X2;-c)}Sv@XRQ~U=Q-P>RaFE26o#-&nFr?^unHM{aQ?);pm$kl zLDja*e163gSY2y~nAJWD6=?UsB8DgjfQU_NQcx;rG#DYR5B?gX#~kYD#34%-v7=@~-ImlgS<)#CVH9i+>V(M;poSgJhsQjp zf-V=A$8-DM>;GV=iO!Bpe729SCWqSAp~B>9CdfQ}xF^?yQ%;)N5;V{T)Ys(2-3|FV zy)I^-yo)%^lIjg^|HCicgP>27--LjXBgWUj0F_$#i2wiq literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..e3fabf2f03f5f4996436bc898a9cbb645f2ef901 GIT binary patch literal 122555 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 z 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 OfB66F)QF;@bP51Fv`?S_ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/.perry-trace/llvm/worker_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..e3fabf2f03f5f4996436bc898a9cbb645f2ef901 GIT binary patch literal 122555 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 z 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 OfB66F)QF;@bP51Fv`?S_ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/worker/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..73b23531300219b4bb50f5d804dcb68552335839 GIT binary patch literal 505 zcmV1t121B2-^^ZmYZHZpMUB_@79z%Y_S)Y& zjo1{L$Hgukoa{^w&k;rMWG_FeVA^i>1{?%A;FZ^q!FS^$`B;J5qcgPK1V#bcxI?6u zfgHWnS&B_h=(e|fU7on;OWN~uSynY=j^Vu~8$5Lnqp&{ycy?KS#7MHjO#!FMqAlJFLG vPyBtyEp>SvBXlU0F-M5q-_vqQ9Wg0Gu#&2VDO={sakRs4Ns**}zytsQsrdLX literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-canonical-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..7d9e4aad528304a60eb2e84395b4c4781c826f31 GIT binary patch literal 548 zcmb2|=3oE;rvFoK?#`16lyH4GZ~2C0%VyNBD}M1wW*WCr$5bV^O>?zQ?OyIRQ7vlq zqMzD!jGM*d-`|&e|NZjg=g%*HUjO!Y?(R3w_v`0hm;e5DQ|->!?VrC@*8aVrciwXP z^!v~2^_um$_pSM{>EY=rcUiv<5ufd=T`65;MVBYAu!m7#K8P_jJ9J&>(Qt+9t729ctv$6>3&J?IRqA?H%<9f~opo1tgguVx%{B!w zo=45iE?swZXP7v@M9k{qwdb~4U4IpmU9k4xR<`R>Aco>R_MO)rL^Wsgt~1?v?Mc++ zY+nc?*k)hx+LK$=u3PQ6c5o}-y3&HR&DpXsuOCFUM?{0D?rhz4TX$T0gkX60Bya9J zYIEg5_D1O@^BIA%uo^xR9V#Jk}|PFZ&Kzz9pOBs a-Y5HWpFAz8-gDQ#o?%B(j{Oul1_l6|aSaLp literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-duplicate-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..29074069eecd2464b747c6a43d5c7f9e1b6c4ef7 GIT binary patch literal 551 zcmb2|=3oE;rvFoK?(MrAAmaMa&OdRf-^1Ga+Lsl57eyR7JDNIKj71;a^>jWP6{|D% z)O?xyoBurh_x0oFx~iHz`TF~}fBt^^=jCnj+dkj^di?Lt&wqZF+1l&hUw^;ORzJQ- zbN%i4r}v+HaI#5VdtOe(rpG56)z#I^!dEeXGf>Wr2pF|UcdbIW10P5 OR&C)$)27HVFaQ9$!V@3> literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ad14137ceafd9b3ba85e1e3bc02d47ff68aee29 GIT binary patch literal 582 zcmb2|=3oE;rvGbi@9w)CAklj9o`2#}zlXK!%w*3S&Qj7~3^bUSutMOypNWs_X{{nl zy?g_f*d6fJsql|=phe|PubL2K9d%m?iXKJ)e6J9yRFqME(@{eus( zG5eY?mlyo@yDGhO1OJ@;&A-bF82I%b9OSgw(a7%p;Q^Q2oP(FY_&L2{p8ny1h}@k+ z&B+x7y!_`L9<;Tw=wKKBShDx3*zW^@Haoi5(?34Ylao2te7d4Qia+o1!9pA7_pZn7 z3gr3uo*Znov6#qi{^@~-T+GR4eG_u}(T%fInATlUnP GfdK$%047ra literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..c31ae24e298c7bbb45a32ef1a43afa3d26ac01b5 GIT binary patch literal 515 zcmb2|=3oE;rvJS+tn+RMh`3&iTg(x$`axxUQ0%e99RUie9)jE-mU9_>7kPK~>ijIn z1^4#Zzq6NL|NZjg$A52MzW?-l?#?yOpFaKdd|%A8_uF3=#ob%K|K7CI!RMa-y#KR! z(qm7{c~>5LTF?9P_@u?WGmlS}+1zaOt2k)RAS1vhz}~}rg7GOs@qwKU#S`xvT8J0u zJ%|Bu7@sqpW1XXI5nizF(?N#kT<1g~oCh%ncQzI?KW97VyYI|{I|rZ~-Z|D5eR4E)v&OYQ$veVr^ZF9MuZ7& zHxVi9a$ez`zmqrxQD$PlTpxwi7h=QDJn|JqBH%{ z?F6S!=$VqDqN=Pb*?H2#*R9Ct(&UK?&MY{+s>3_jZIMyX)QM|)N>WvHlv5==PkThC fT{4V5qN@KnHQsK1UjOvpFYU#2_sXo0WMBXQajNhJ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stderr.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stderr.gz new file mode 100644 index 0000000000000000000000000000000000000000..86e43ea3218b5890302b754bbf8927f94e79f7ee GIT binary patch literal 20 Tcmb2|=3oE;rvJ=f8bkm97>oh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-180-whitespace-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..67284287620f826e0c910f4a2ee693d72bc08ef6 GIT binary patch literal 27 fcmb2|=3oE;rvKhvzNhuQo-#2gZcb!o2MPfIRkj8I literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain-node.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain-node.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJoh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..89bc525111747e4cb859ba2055723a3ba4d9ee2e GIT binary patch literal 97 zcmb2|=3oE;rvKhvzNhuQo}SXz4eWRp6tIFViIsKf84*=&R%Tfab$vr~(G#IXKAs^> zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJ4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-canonical-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJoh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..89bc525111747e4cb859ba2055723a3ba4d9ee2e GIT binary patch literal 97 zcmb2|=3oE;rvKhvzNhuQo}SXz4eWRp6tIFViIsKf84*=&R%Tfab$vr~(G#IXKAs^> zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJ4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-duplicate-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-plain.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJoh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-pretty.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..89bc525111747e4cb859ba2055723a3ba4d9ee2e GIT binary patch literal 97 zcmb2|=3oE;rvKhvzNhuQo}SXz4eWRp6tIFViIsKf84*=&R%Tfab$vr~(G#IXKAs^> zTvJt+i8Hq@I%vbn>MW~qn8W8d)5$1Vlgm7sM!nk8v{mi(r*bo7&3?UkJ4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-true.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRi4|YwguW4Z|agRioh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-lazy-2-whitespace-zero.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..2edab6e3a1e8e6f52fe5d3d639180606344502f7 GIT binary patch literal 79 zcmb2|=3oE;rvKhvzNhuQo}SXz4eVGKcFHGklhK91Q{HEMLpKE#`FMt03e@uS(GT0y hWp>4|YwguW4Z|agRiPQx$^#_xR!UywG5CT#_m?ld7lLgU20145IVcwM$O zuHtM64m>+)RUUw&Kl}Ijvv0WT$VBH`=-Hk+5~Wmj$0u*0oTY^<>r{A*?o5|ZzyqG~ z$pkmV?4CRYoOr{QMtGnQzG`qj9|9W^fz9Ui5gIf{O0H-|8(2(YRjE>4EwlFt`j|Xg z^7UUB*g5ZHPbrKpVNn*v#R>{lK<_+Ihl7w^!R_-Jer9!rsx-loYNhaSBltv)#%^*061Wk8cI z&qH;s4SMS=M#_1Jj=d<()*=)kVQxnf{~yDrZ*1pJXl2msX`aT>S=0z+zfZyPoV_eTgkjSDhk@pCNH#gEcsb zHcx+SwvBbo6(>;-V&Ky-VkY}e?h5_rkMAVtGnkdQaRO3Qzan6))I42})q>$G6srXg zKdW;LzMKJ%V9Nz*T{Bi`@a8ltyu@dCNGn~yS$PB1{vPmBJpe-)7iChi5}BwRh6ngk zU&qN-)2N@D4|w(KIKy83W;H()j&@q8UJB+qNmWyRuZrjCybrrwI(;NxJEU_5Bp&X7 zr5lXFlY+H-u_NnAd7>euC)4OJV4s0{_hb6M6~v)v8s{1#gi<{S%6SQX z#jt!1Cd_m2xk$9HBoG4*3ywFnLM{;93kVlsu#gI3L5MLE30l99c*ND_^)guM5mGwd zGDo?t1(PY^>FV+;2-d!kcou}UqgiuN=r$FyD+u{_ia}4oTrvUS=~u;FBdBJ)ZndG@ z$ZwEaO>;45whdS=24dTQ=VH)q8#K8XblV0Z7X!I%(B@*$ZyR)(7&P=yXelgkMk!Yo voP;v2Y8_230xS(wu2((n+P3aHlP0TDDKw`+sl~+h-?ha*FZ;=xeG&iws}0Q~ literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-validation.json b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-validation.json new file mode 100644 index 0000000000..b13214914b --- /dev/null +++ b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-options-validation.json @@ -0,0 +1,142 @@ +[ + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "plain", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "dynamic-zero", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "keys", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12640, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "small_record", + "operation": "callback", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 12652, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "normal", + "matches_node": true, + "protected_retired_sets": 0, + "moved_objects": 0, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + }, + { + "arm": "candidate", + "fixture": "records_array_16k", + "operation": "pretty", + "mode": "scheduled", + "matches_node": true, + "protected_retired_sets": 6, + "moved_objects": 13588, + "binary_sha256": "2ccae6deff7d666f3046aa0b6ca956df4038cf51f99676aa0eb28b4831fdea79" + } +] diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-packed-index-get.s.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-packed-index-get.s.gz new file mode 100644 index 0000000000000000000000000000000000000000..b45e7a9392f20ff9eb2dc8532ef299cf5fe281b5 GIT binary patch literal 2601 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-fullgc.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..430d290af7ca7bbd89ed9fba3a379c80c369a84d GIT binary patch literal 360 zcmV-u0hj(CiwFP!00002|GknwZ^AGT#dm*-ljj7H6cw7SYln8|2n;4Zz#`a@?WCpP z@7}Wml^Da&Nd9;7d-s!H+D0f1XRai#<{8)Gh`i#jQt*t6+N++9-gcOAFLsVs%OWe+ zfwliC`$20SXlBv-6Py`9lEOTT+d&S4J{E2kkUU~#uz@A*0g5awCCzIV*a1(DSnePa zSYXaurFXe&MUB*UGT|b*Oz0z*xRf+U7h@&bh{l!2Bi%}ry=b}!^1>j{CG1gq2Nvns zYOF5aynTMWS5a}f74Hs7&n%M63hfD#0Qh;um3B(vidRJ-+zqeFz^pMom)5koh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stdout.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-prior-entry-auto-normal.stdout.gz new file mode 100644 index 0000000000000000000000000000000000000000..430d290af7ca7bbd89ed9fba3a379c80c369a84d GIT binary patch literal 360 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

    S!sM=QC&e{NU89Bmnl4T!7vRz~ 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-shadow/test_json_cached_construction/.perry-trace/llvm/test_json_cached_construction_ts.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..8ff3aaf486715d5c93973cfbb717c501f55bd91e GIT binary patch literal 228463 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

  • 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 Z8nkr`JnmpKA%8=z4ZqNs#K3*`e*kXT`e6V7 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/compile.log.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_construction/compile.log.gz new file mode 100644 index 0000000000000000000000000000000000000000..7b9f3eeda7252af0dac73de87edd842b2c3a8f80 GIT binary patch literal 518 zcmV+h0{Q(PiwFP!00002|IJf9j}tKv?ei<9K}san_BzRJHdmbxAkfjk0mUh@9Peb~ z#A~l?XAu;X`~ZF;zXb2cNfg&W0l2e0^X9!bGxyO;g*&*t{qP1}y@em&z5{(9&<83T zbE#?T-3e6;v_(pI{X5i{*GE2Hj^MhsC507|MORzf)&qQ9u9ouy=`pAB@WFyG;=`vP$3JhM$PQFuKw{i9oEqXcRD_3Ekd_NZHuQl2o zoUx5lGI(sm7HB6uJvdYK4sANh%Fgh0apIyYSjW#rQ6E`uS$}Fv??&6ih#`6mQ5H+i zMP6*mJYSV%xz0;oY*M^nq?i9Vi>X0>%%HbS1eFAgHsozV+ccFoh8 literal 0 HcmV?d00001 diff --git a/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads-0.ll.gz b/benchmarks/json_performance/results/zero-spacing-r25-validation/candidate-ir-native/test_json_cached_reads-0.ll.gz new file mode 100644 index 0000000000000000000000000000000000000000..4d6aa30bce75bb80730bf3f10d5dfbe30e506505 GIT binary patch literal 736363 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